我正在尝试检索team1得分但是我似乎无法弄清楚如何输出这个。到目前为止,我已经有了这个工作,其中$ obj是json输出。
$obj->recent
JSON
"recent": [
[
{
"match_id": "64886",
"has_vods": false,
"game": "dota2",
"team 1": {
"score": "",
"name": "Wheel Whreck While Whistling",
"bet": "7%"
},
"team 2": {
"score": "",
"name": "Evil Geniuses DotA2",
"bet": "68%"
},
"live in": "1m 42s",
"title": "Wheel Whreck... 7% vs 68% Evil...",
"url": "",
"tounament": "",
"simple_title": "Wheel Whreck... vs Evil...",
"streams": []
}
]
答案 0 :(得分:2)
你需要使用json_decode();此函数返回包含数组和对象的正确对象。现在你需要检查什么是对象以及什么是数组。
$obj = json_decode($obj, true);
$obj->recent; //array
$obj->recent[0]; //first element of array
$obj->recent[0][0]; //first element of second array
$obj->recent[0][0]->{'team 1'}; //access to object team 1
$obj->recent[0][0]->{'team 1'}->score; //access to property of object team 1
您可以找到this有助于了解会发生什么;
您还可以查看json_decode documentation
上的示例如果在$ obj上使用var_dump函数,它将显示什么是数组以及什么是对象。
答案 1 :(得分:0)
您需要使用json_decode
将其转换为数组。看起来recent
是一个对象数组的数组。所以,你会做类似
$json = json_decode($obj->recent, true);
$team1 = $json[0][0]['team 1']; //should return array
$score = $team1['score']
编辑:感谢您的评论,错过true
作为json_decode