所以我这里有一个来自我的PHP cURL的JSON响应,所以我试图在location
下获取特定的数组,具体取决于identifier
值{&1} ;检查。
{
"status": "SUCCESS",
"response": {
"offset": 0,
"max": 50,
"count": 2,
"locations":[
{
"identifier":"54320",
"id": 503892,
"name":"The Foo"
},
{
"identifier":"54321",
"id": 503893,
"name":"The Bar"
}
]
}
这是我迄今为止所做的以及我尝试做的事情。所以我已经解析了上面的json并把它放在foreach上。请注意,标识符并非始终为int
,也可以是string
。
$parsed_json = json_decode($phpCurlResponse, true);
$parsed_json = $parsed_json["response"]["locations"];
foreach($parsed_json as $key => $pj){
if($pj['identifier'] == "54320"){
echo $pj['name'].' & '.$pj['id'];//this should display The Foo & 503892
}
}
我已经尝试过这个,它只能在array
下看到第一组locations
,但是当我将identifier
值从54321
更改为112233
时响应将是Identifier do not exist.
你能帮助我实现这个目标吗?
答案 0 :(得分:0)
您的JSON无效。
locations
数组中的最后一个对象之后不应该是逗号。}
关闭数组括号(locations
)之后应该有]
。有效的JSON也是如此。
{
"status": "SUCCESS",
"response": {
"offset": 0,
"max": 50,
"count": 2,
"locations": [
{
"identifier":"54320",
"id": 503892,
"name":"The Foo"
},
{
"identifier":"54321",
"id": 503893,
"name":"The Bar"
}
]
}
}
答案 1 :(得分:0)
很抱歉过早发布,但我希望你知道上面的代码没有任何问题,它只是在我输入的json响应上有一些拼写错误,无论如何,谢谢你的帮助。 :)这样就可以在对象中获取一组特定的数组,这取决于你要查找的关键值。