У меня есть следующий код в моем MySql строке таблицы «контакты»:json_encode добавляет имя таблицы
{
"contactList":
[
{
"userId":"1062",
"name":"Test User 1"
},
{
"userId":"1063",
"name":"Test User 2"
}
]
}
Когда я кодировать json_encode содержание добавляет имя таблицы к результату:
{"contacts":"{"contactList":
[{"userId":"1062","name":"Test User 1"},{"userId":"1063","name":"Test User 2"}]
}"}
Может ли кто-нибудь сказать мне, как избежать этого или где моя ошибка? Я не смог найти ответ :(
Вот мой PHP код:
<?php
...
$last = mysql_query("SELECT contacts FROM users WHERE userId = 1000");
while($row=mysql_fetch_assoc($last))
$jsonEncode = (json_encode($row));
$output = preg_replace('/\\\"/',"\"", $jsonEncode);
print($output);
mysql_close();
?>
Когда вы кодируете, что именно? Если это произойдет в JSON, это означает, что он находится в массиве, который вы поставляете json_encode. – JAL
Если ваша колонка уже содержит JSON, почему вы снова json_encoding? Preg_replace также не делает его действительным. И вы не должны делать это в цикле в любом случае, поскольку несколько конкатенированных блочных JSON недействительны. – mario
Так что я должен просто попытаться напечатать строку $? Причина, когда я делаю так, я не получил выход или только «Массив». Извините, что я знаю, что это действительно базовый материал. – user3109750