日期:2014-05-16  浏览次数:20460 次

求教,php解析json的问题
本帖最后由 easeyoo 于 2014-01-16 23:15:20 编辑
各位大神,求教一下,网站返回的json数据如下:
{
    "dataList": [
        {
            "Subject": "这里是标题",
            "Distance": "距离",
            "Address": "山东省青岛市"
        },
        {
            "Subject": "这里是标题",
            "Distance": "距离",
            "Address": "山东省青岛市"
        }
    ]
}


在另一端,也是采用php的,使用了如下代码来获取,但是获取不到任何数据,代码如下:

<?php

url = 'http://www.123.com/query_json.php?action=ceshi&x=1'; 
$response = ihttp_get($url); //ihttp_get是一个封装的函数,提交url的,没有任何问题
$content = $response['content'];
$d = json_decode($content, true);
$traces = $traces['dataList'];
foreach($traces as $trace) {
$reply .= "{$trace['Subject']} - {$trace['Address']}\n";
}
return $this->respText($reply);
}

return $this->respText($text); 
?>


这样做无法输出结果,其中respText是一个封装的类,主要是一个微信引擎向用户返回数据的,请教如何才能获取到json返回的数据,谢谢了。

------解决方案--------------------
打印$content和$d看有没有数据?有的话结构是什么样的,,,,$traces从何而来?
------解决方案--------------------
$d = json_decode($content, true);
$traces = $traces['dataList'];

$d = json_decode($content, true);
$traces = $d['dataList'];
------解决方案--------------------
变量搞错了$traces = $d['dataList']  当然取不到值了