PHP中无法提取多维对象数组内street嵌套值的问题
解决PHP提取嵌套JSON对象无返回值的问题
排查方向
- 核对原始JSON结构:直接输出
$json_data,确认street对象及name字段是否存在,检查字段名拼写、大小写是否和你代码里写的一致(比如会不会是streetName而非street->name)。 - 打印转换后的对象详情:用
var_dump($response_data[$i]->location)或print_r($response_data[$i]->location),查看location下是否真的包含street对象,以及street内部的字段到底叫什么。 - 增加存在性判断:避免因字段缺失导致无输出或报错,示例代码:
if (isset($response_data[$i]->location->street) && isset($response_data[$i]->location->street->name)) { echo $response_data[$i]->location->street->name; } else { echo "无街道名称数据"; } - 切换json_decode的转换模式:如果API返回的嵌套结构是数组而非对象,试试用
json_decode($json_data, true)转成关联数组,再用$response_data[$i]['location']['street']['name']提取数据,部分API的返回结构可能和你预期的对象类型不符。
内容的提问来源于stack exchange,提问作者Damo
相关产品推荐
相关产品推荐

