我想从JSON数组中获取名称值。
{
"workspaces": {
"workspace": [
{
"name": "SITR",
"href": "http://localhost:8080/geoserver/rest/workspaces/SITR.json"
},
{
"name": "fire",
"href": "http://localhost:8080/geoserver/rest/workspaces/fire.json"
},
{
"name": "info-geospasial",
"href": "http://localhost:8080/geoserver/rest/workspaces/info-geospasial.json"
},
{
"name": "pertanian",
"href": "http://localhost:8080/geoserver/rest/workspaces/pertanian.json"
},
{
"name": "semangat21",
"href": "http://localhost:8080/geoserver/rest/workspaces/semangat21.json"
},
{
"name": "semangat",
"href": "http://localhost:8080/geoserver/rest/workspaces/semangat.json"
},
{
"name": "cobalagi",
"href": "http://localhost:8080/geoserver/rest/workspaces/cobalagi.json"
},
{
"name": "cobak",
"href": "http://localhost:8080/geoserver/rest/workspaces/cobak.json"
}
]
}
}
我已经尝试过以下
$responsArray=json_decode($res->getBody());
dd($responsArray->workspaces->workspace->name);
,但返回“试图访问非对象的属性”。 有人可以帮忙吗? 非常感谢,谢谢您
答案 0 :(得分:0)
items
答案 1 :(得分:0)
通过将true
标志作为json_decode()
函数的第二个参数,将所有对象级别转换为多维关联数组结构,然后像访问多维数组一样对其进行访问:
$nameArr = [];
$responseArray = json_decode($res->getBody(), true); // set true here
foreach ($responseArray['workspaces']['workspace'] as $row) {
$nameArr[] = $row['name'];
}
dd($nameArr);