我是php rogramming的初学者,我尝试从JSON字符串中获取每个PHP的一些信息。 因此我使用了:
$json = file_get_contents('data.json')
var_dump(json_decode($json));
获取有关php将如何解析我的JSON文件的更多信息。它的输出看起来像:
array(10) {
[0]=> object(stdClass)#1 (1) {
["links"]=> array(4) {
[0]=> object(stdClass)#2 (6) {
["localIP"]=> string(14) "172.29.126.189"
["remoteIP"]=> string(14) "172.29.118.193"
["validityTime"]=> int(586277)
["linkQuality"]=> float(1)
["neighborLinkQuality"]=> float(0.396)
["linkCost"]=> float(2.524) }
[1]=> object(stdClass)#3 (6) {
["localIP"]=> string(14) "172.29.126.189"
["remoteIP"]=> string(14) "172.29.149.193"
["validityTime"]=> int(551339)
["linkQuality"]=> float(1)
["neighborLinkQuality"]=> float(0.396)
["linkCost"]=> float(2.524) } } } }
...
我想知道如何能够显示例如:
感谢您的建议
答案 0 :(得分:1)
每当有数组时,使用方括号来访问它的任何索引。只要有对象,就可以使用->
运算符来访问它的属性。
因此,对于您的示例,它将是:
$json = file_get_contents('data.json');
$data = json_decode($json);
var_dump($data[0]->links[0]->remoteIP); // remoteIP of links[0]
var_dump($data[0]->links[0]); // All attributes of links[0], as object
另一种方式(正如Leo Bali指出的那样),让PHP将所有对象转换为数组。在这种情况下,您始终使用方括号:
$json = file_get_contents('data.json');
$data = json_decode($json, true); // Add true here as second parameter
var_dump($data[0]['links'][0]['remoteIP']); // remoteIP of links[0]
var_dump($data[0]['links'][0]); // All attributes of links[0], as array