разбирать массив JSON, который содержит массив SQL - PullRequest
1 голос
/ 12 октября 2009

Мой вопрос: как мне разобрать массив json?

Я отправляю это так:

$data= mysql_fetch_array($r);
header('Content-type: application/json');

?>              
{
    "check": "<?php echo $check?>",
    "productcode": "<?php echo $code?>",
     "values": [<?php echo $data?>]
}
<?php

на стороне AJAX Я делаю это на единичных значениях, который прекрасно работает

success: function(data,textStatus){
    //return values
    identification=data.check;

если я хочу получить доступ к массиву, я делаю что-то вроде этого и получаю неопределенное значение

value=data.values[1];

Что я делаю не так?

Ответы [ 3 ]

1 голос
/ 12 октября 2009

Вам необходимо также закодировать ваш массив в JSON:

{
    "check": "<?php echo $check?>",
    "productcode": "<?php echo $code?>",
     "values": [<?php echo json_encode($data); ?>]
}

Самый простой способ - это поместить все в массив PHP и сериализовать его в JSON:

$output = array(
    "check" => $check,
    "productcode" => $code,
    "values" => $data
);

echo json_encode($output);

Тогда вы можете быть уверены, что кодируется правильно.

1 голос
/ 12 октября 2009

Попробуйте это:

$data= mysql_fetch_array($r);
header('Content-type: application/json');

$json = array(
    'check' => $check,
    'productcode' => $code,
    'values' => $data
    );

print json_encode($json);

Это более аккуратно, чем печатать JSON вручную. json_encode превращает массив PHP в строку json.

0 голосов
/ 12 октября 2009
$data= mysql_fetch_array($r, MYSQL_NUM);

может исправить проблему.

Было бы полезно получить json, который вы получаете в части ajax

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