Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在php中解析复杂的json_Php_Json_Parsing - Fatal编程技术网

在php中解析复杂的json

在php中解析复杂的json,php,json,parsing,Php,Json,Parsing,我正在尝试使用json解码和文件获取内容获取股票价格。 我试图用关联数组获得价格,但我得到了未定义的索引错误,坦白说,我被卡住了。 我的代码: JSON: { list : { meta : { type : "resource-list", start : 0, count : 1 }, resources : [{ resource

我正在尝试使用json解码和文件获取内容获取股票价格。 我试图用关联数组获得价格,但我得到了未定义的索引错误,坦白说,我被卡住了。 我的代码:

JSON:

{
    list : {
        meta : {
            type : "resource-list",
            start : 0,
            count : 1
        },
        resources : [{
                resource : {
                    classname : "Quote",
                    fields : {
                        name : "Wal-Mart Stores, Inc. Common St",
                        price : "68.570000",
                        symbol : "WMT",
                        ts : "1440014635",
                        type : "equity",
                        utctime : "2015-08-19T20:03:55+0000",
                        volume : "16333364"
                    }
                }
            }
        ]
    }
}

任何帮助都将不胜感激。

以下几行出现问题:

$resource = $resource['resource'];
此时,
$resource
已经是一个非关联数组,您应该循环使用它:

$resources = $list['resources'];

foreach($resources as $resource) {
    $name = $resource['classname'];
    $fields = $resource['fields'];
    $price = $fields['price'];
}

以下几行都出了问题:

$resource = $resource['resource'];
此时,
$resource
已经是一个非关联数组,您应该循环使用它:

$resources = $list['resources'];

foreach($resources as $resource) {
    $name = $resource['classname'];
    $fields = $resource['fields'];
    $price = $fields['price'];
}

试试这个,它应该是有效的

$json = json_decode($jsondata, true);
$resoureces=$json['list']['resources'];
foreach ($resoureces as $value) {
$price=$value['resource']['fields']['price'];
}
print_r($price);

试试这个,它应该是有效的

$json = json_decode($jsondata, true);
$resoureces=$json['list']['resources'];
foreach ($resoureces as $value) {
$price=$value['resource']['fields']['price'];
}
print_r($price);

此答案会导致类名和字段上出现未定义的索引错误。谢谢你的回答。这个答案会导致类名和字段出现未定义的索引错误。谢谢你的回答。