我有一个从远程Web服务返回的JSON对象(通过Curl调用)。对象是这样的:
stdClass Object ( [https://example.com] => stdClass Object ( [hash] => 8 [id] => 277 ) )
我想如何从这个对象中访问诸如hash
,id
之类的值?
我试过了:
$Object = json_decode( $curl_return );
echo $Object->hash; // Didn't work!
echo $Object[0]->hash; // Didn't work!
echo $Object[0]['hash']; // Didn't work!
echo $Object['https://example.com']->hash; // Didn't work!
请帮助。
答案 0 :(得分:1)
这将有效:
$url = 'https://example.com';
echo $Object->$url->hash;
或者,您可以通过将第二个参数设置为\stdClass
来将JSON解码为关联数组而不是true
:
json_decode($json, true);
答案 1 :(得分:1)
将TRUE
作为json_encode()
的第二个参数传递,它返回数组,而不是对象。
然后,您只需使用通常的array access语法访问值,并使用方括号:
echo($Object['https://example.com']['hash']);