使用PHP的json_decode()函数应该满足这一点。在你的第一次调用中,你传递TRUE作为第二个参数,所以函数返回一个关联数组。 PHP手册页说明了这一点区别:
$json = '{"a":1,"b":2,"c":3,"d":4,"e":5}';
var_dump(json_decode($json));
var_dump(json_decode($json, true));
这两个调用的var_dump将输出:
object(stdClass)#1 (5) {
["a"] => int(1)
["b"] => int(2)
["c"] => int(3)
["d"] => int(4)
["e"] => int(5)
}
array(5) {
["a"] => int(1)
["b"] => int(2)
["c"] => int(3)
["d"] => int(4)
["e"] => int(5)
}
在这两种情况下,你可以访问各个元素:
$json = '{"url":"stackoverflow.com","rating":"useful"}';
$jsonAsObject = json_decode($json);
$jsonAsArray = json_decode($json, TRUE);
echo $jsonAsObject->url . " is " . $jsonAsArray['rating'];
这将输出:
stackoverflow.com is useful
为了澄清,你想访问JSON元素的各个值? – Matthew 2012-04-19 14:48:20