PHP JSON读取对象属性
我是php编程的初学者,我试图从JSON字符串中获取每个php的一些信息。 因此,我使用:PHP JSON读取对象属性,php,json,file,Php,Json,File,我是php编程的初学者,我试图从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]=> obje
$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]的“remoteIP”属性
- 链接[0]的所有属性
感谢您的建议只要您有一个数组,就可以使用方括号访问它的任何索引。只要有对象,就可以使用
->
操作符访问该对象的属性
因此,对于您的示例,应该是:
$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
尝试json_解码($json,true)。。。。这样,所有json都将表示为一个数组