解析包含sql数组的json数组

时间:2009-10-12 12:15:54

标签: jquery arrays json parsing

我的问题:如何解析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 个答案:

答案 0 :(得分:1)

您还需要将数组编码为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 :(得分:1)

试试这个:

$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字符串。

答案 2 :(得分:0)

$data= mysql_fetch_array($r, MYSQL_NUM);

可以解决问题。

获取你在ajax部分获得的json会很有帮助