You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PHP中获取URL返回的JSON数组并以对象形式访问数据

解决PHP中JSON解码为对象数组的问题

嘿,这问题我熟!你现在遇到的情况是json_decode的第二个参数在“捣乱”——你传了true,它就会把JSON解码成关联数组,而不是你想要的对象实例,自然没法用->语法访问属性啦。

正确做法超简单:

去掉json_decode的第二个参数(或者显式传false,因为默认就是这个值),这样它就会返回stdClass对象的数组,完美匹配你的需求。

完整代码示例:

// 从URL获取JSON数据
$url = "你的目标URL地址";
$json_data = file_get_contents($url);

// 解码为对象数组(不要加第二个true参数)
$user_objects = json_decode($json_data);

// 现在就能用你想要的方式访问数据了!
echo $user_objects[1]->name; // 输出 "John"
echo $user_objects[2]->sex;  // 输出 "F"
echo $user_objects[0]->age;  // 输出 20

补充说明下参数区别:

json_decode的第二个参数是用来控制返回类型的:

  • 当参数为true时:返回关联数组,访问方式是$user_array[1]['name']
  • 当参数为false(或不传)时:返回对象数组,访问方式是$user_objects[1]->name

这样调整之后,你就能按照预期的方式操作数据啦!

内容的提问来源于stack exchange,提问作者D. Thomas

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.22 08:56:10