如何使用这个JSON数组?

时间:2013-11-01 14:00:47

标签: php json

我现在正在使用以下代码:

$json = json_decode($content, true);

var_dump($json);

echo $json[0]['article'];

的var_dump($ JSON);

array(36) { 
[0]=> string(53) "{"article":"Milk","==":"RandomString"}" 
[1]=> string(56) "{"article":"Water","==":"RandomString"}"
[2]=> string(68) "{"article":"Beef","amount":3,"==":"RandomString"}" 

[3]=> string(4) "null" [4]=> string(4) "null" [5]=> string(4) "null" [6]=> string(4) "null" [7]=> string(4) "null" [8]=> string(4) "null" [9]=> string(4) "null" [10]=> string(4) "null" [11]=> string(4) "null" [12]=> string(4) "null" [13]=> string(4) "null" [14]=> string(4) "null"
}

但它返回:

Warning: Illegal string offset 'article' in json.php on line 17
{

(是的,{最后也输出了)

任何人都知道如何正确地获取此数组?如果有任何设定,我怎么能得到金额?

1 个答案:

答案 0 :(得分:0)

每个数组元素都是另一个JSON字符串,因此您需要在每个数组元素上运行json_decode()。下面的示例执行此操作并覆盖原始元素,因此$json已完全解码。

foreach($json as $key => $moreJson)
{
    $json[$key] = json_decode($moreJson, true);
}

echo $json[0]['article'];