json_decode возвращает ноль - PullRequest
       4

json_decode возвращает ноль

0 голосов
/ 29 ноября 2010

Я храню закодированные массивы в базе данных, и когда я пытаюсь их декодировать, он возвращает ноль.

[{"id":13,"qty":"1"}]

Массивы кодируются с помощью PHP, поэтому я не знаю, в чем проблема.

Спасибо

Ответы [ 3 ]

0 голосов
/ 29 ноября 2010

Лично функции serialize(); и unserialize(); будут лучше, если вы хотите сохранить массив в базе данных. Функции JSON должны использоваться для строк JSON, которые будут возвращены в JavaScript.

$array = array('data','more data','superdata'=>'even more data');
$array = serialize($array);
// Store array in database after serialized

Затем, чтобы превратить данные обратно в массив из базы данных, вы бы ...

// Fetch the data from the database
$data = $row['myDataArray'];
$array = unserialize($data);
echo $array['superdata']; // Would produce: "even more data"

Надеюсь, это немного поможет вам с вашими проблемами. Если вам нужно превратить его в JSON для отправки в JavaScript, вы должны использовать функцию json_encode($array);.

0 голосов
/ 19 января 2015

У меня была похожая проблема, хотя и в другом контексте.В моем случае я пытался декодировать строку JSON, закодированную с помощью Javascript JSON.stringify, сохранить ее в скрытом текстовом поле и декодировать обратно в PHP после того, как страница POST ed.Я обнаружил, что применение функции полоски до того, как расшифровка была полезной.

$arrMyOutput = json_decode(stripslashes($yourJSON_string_goes_here));
0 голосов
/ 29 ноября 2010

Попробуйте напечатать:

json_last_error()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...