如何解决PHP 从嵌套数组中回显 JSON 值
我正在从 PHP 页面调用 REST/JSON api。 这是一个成功的 JSON 响应示例:
{
"code": 0,"message": "","objects":
{
"UserRequest::123":
{
"code": 0,"message": "created","class": "UserRequest","key": 29,"fields":
{
"id": 29,"friendlyname": "R-000029"
}
}
}
}
我只想在页面中回显 id
值,但我无法让它工作。
我试图对响应进行 json_decode
$decoded_response = json_decode($response,true);
如果我 print_r
解码的响应,它看起来像这样:
Array ( [objects] => Array ( [UserRequest::17282] => Array ( [code] => 0 [message] => created [class] => UserRequest [key] => 17282 [fields] => Array ( [id] => 17282 ) ) ) [code] => 0 [message] => )
解决方法
你可以通过这种方式跟随深层元素来获取嵌套的id,
echo $decoded_response['objects']['UserRequest::123']['fields']['id'];
,
但是我怎么知道“UserRequest::123”中的值是什么 这可能就像我的最后一个结果:“UserRequest::17282” 我事先不知道 id 值的嵌套路径。
试过这个:
echo $decoded_response["objects"][0]["UserRequest"]["fields"]["id"];
不工作。
,设法解决它是这样的:
foreach( $decoded_response['objects'] as $k=>$v) {
if ( isset($v['key']) ) {
echo 'Ticket created: ',$v['fields']['friendlyname'],"\r\n";
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。