我正在尝试解析 json 文件并使用 php 在表中显示其内容,但由于某种原因我得到了(注意:未定义的属性:z.json 中的 stdClass::$management_status)
这是我的 json 文件 (z.json) 中的完整示例:
{ "metadata": { "total_record_count": "1" }, "devices": [ { "managed_status": "2", "device_id": "63225421111", "is_supervised": true, "os_version": "10", "is_lost_mode_enabled": false, "serial_number": "77898789", "device_type": "1", "owned_by": "1", "is_removed": "false", "product_name": "TC26", "device_name": "[email protected]", "platform_type": "android", "located_time": "1623936014747", "imei": [ "352714110033545" ], "model": "TC26", "customer_name": "Customer1", "customer_id": "10489000000041017", "udid": "95bd2e6ca8654910", "last_contact_time": "1624254859593", "platform_type_id": "2", "user": { "user_email": "[email protected]", "user_id": "556654548", "user_name": "[email protected]" }, "device_capacity": "17.34" } ], "delta-token": "aHR0cHM6Ly9tZG0ubWFuYWdlZW5naW5lLmV1L2FwaS92MS9kZXZpY2VzOjoxNjI0MjU1NzA2NDI4" }
and here is my php script:
<?php
$json=file_get_contents('z.json');
$data=json_decode($json);
?>
<table>
<tr>
<td>managed_status</td>
<td>device_id</td>
<td>is_supervised</td>
<td>os_version</td>
</tr>
<?php foreach($data as $key=>$item): ?>
<tr>
<td><?PHP echo $item->managed_status ; ?></td>
<td><?PHP echo $item->device_id; ?></td>
<td><?PHP echo $item->is_supervised; ?></td>
<td><?PHP echo $item->os_version; ?></td>
</tr>
<?php endforeach; ?>
</table>
最佳答案
在 foreach 条件中,您尝试迭代日期,需要将其替换为 $data->devices。
<?php
$json = file_get_contents('z.json');
$data = json_decode($json);
?>
<tr>
<td>managed_status</td>
<td>device_id</td>
<td>is_supervised</td>
<td>os_version</td>
</tr>
<?php foreach($data->devices as $key => $item): ?>
<tr>
<td><?php echo $item->managed_status ; ?></td>
<td><?php echo $item->device_id; ?></td>
<td><?php echo $item->is_supervised; ?></td>
<td><?php echo $item->os_version; ?></td>
</tr>
<?php endforeach; ?>
关于php - 错误未定义属性 : stdClass while trying to parse json file in php,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68079622/