У меня есть строка JSON в базе данных MySQL, как это
{
"string1": {
"substring1": 1234
},
"string2": {
"substring2": "substring2.1",
"substring3": "substring3.1",
"substring4": {
"substring4.1": 1234,
"substring4.2": 1234,
"substring4.3": 1234
}
}
}
Я положил эти данные из MySQL в $ строка, тогда я декодирую его с помощью этой функции
$json_a = json_decode($string,true);
echo $json_a['string1']['substring1'];
Но результат — ничто.
Затем я попытался изменить $ строка в
$string = '{"string1":{"substring1":1234},"string2":{"substring2":"substring2.1","substring3":"substring3.1","substring4":{"substring4.1":1234,"substring4.2":1234,"substring4.3":1234}}}';
Далее я использую ту же функцию, что и выше, и работает нормально.
Есть ли какие-то конкретные вещи, которые мы должны сделать, прежде чем декодировать его из MySQL?
Спасибо
Внешний слой данных, которые у вас есть, не является массивом, на самом деле у вас вообще нет массивов в данных. Не использовать [0]
в вашем PHP.
Доступ к вашему индексу с
echo $json_a['string1']['substring1'];