我试图使用json_decode和file_get_contents获得股票报价的价格。我试图获得价格与关联数组,但我得到未定义的索引错误,坦率地说,我卡住了。我的代码:
$jsondata =file_get_contents("http://finance.yahoo.com/webservice/v1/symbols/wmt/quote?format=json");
$json = json_decode($jsondata, true);
$list = $json['list'];
$resource = $list['resources'];
$resource = $resource['resource'];
$fields = $resource['fields'];
$price = $fields['price'];
echo $price;
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"
}
}
}
]
}
}
试试这个,它应该是工作的,
$json = json_decode($jsondata, true);
$resoureces=$json['list']['resources'];
foreach ($resoureces as $value) {
$price=$value['resource']['fields']['price'];
}
print_r($price);
下面一行都出错了:
$resource = $resource['resource'];
此时,$resource
已经是一个非关联数组,您只需循环:
$resources = $list['resources'];
foreach($resources as $resource) {
$name = $resource['classname'];
$fields = $resource['fields'];
$price = $fields['price'];
}