Поэтому я пытаюсь найти лучший способ получить данные таблицы MySql в многомерном массиве PHP или преобразовать этот многомерный массив в строку json.
По сути, что я пытаюсь сделать, это включить php, который возвращает строку JSON, чтобы я мог проходить через нее. Мне нужен один ключ с несколькими значениями, поэтому я не уверен на 100%, чтобы im возглавил в правильном направлении.
Я хочу присвоить несколько значений одному и тому же ключу, например:
[{"key1": "package1", "package2", "package3"}, {"key2": "package1", "package2", "package3", "package4"}]
Я думаю, что это не сработает правильно? Потому что у меня нет каких-либо индексов?
Это недействительно JSON. Структура, которую вы ищете, будет примерно такой:
[ {"key1": ["package1", "package2", "package3"]}, {"key2": ["package1", "package2", "package3", "package4"}] ^ An array as the value to the key "key1", "key2", etc.. ]
На стороне PHP вам понадобится что-то вроде:
$arr[$key]
= <новый массив> $arr[$key]
json_encode($arr)
В массивах JS имеется неявный массив, начиная с индекса 0. У вас есть вполне допустимый массив JS, эквивалентный написанию:
var x = []; // create new empty array x[0] = {"key1": .... }; // first object x[1] = {"key2": ....} // second object
Обратите внимание, что содержимое ваших {}
под-объектов НЕ является допустимым.
Вы никогда не должны НИКОГДА не строили строку JSON вручную. Это слишком ненадежно и легко испортить. Просто использовать собственную структуру данных (php-массивы / объекты), а затем json_encode()
. То же самое на другом конце процесса – не расшифровывайте строку вручную. Преобразуйте в собственную структуру данных (например, json_decode()
, JSON.parse()
), а затем напрямую JSON.parse()
собственную структуру.
по сути, JSON – это формат передачи, а не формат манипуляции.