千家信息网

php中如何将json转换成对象

发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,这篇文章主要为大家展示了"php中如何将json转换成对象",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"php中如何将json转换成对象"这篇文章吧。ph
千家信息网最后更新 2026年11月02日php中如何将json转换成对象

这篇文章主要为大家展示了"php中如何将json转换成对象",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"php中如何将json转换成对象"这篇文章吧。

php json转换成对象的方法:1、用json_decode对JSON格式的字符串进行编码;2、通过"foreach($students as $obj){...}"方式访问即可。

本文操作环境:Windows7系统、PHP7.1版,Dell G3电脑

php json字符串转为数组或对象

从网上查到的方法是 用get_object_vars 把类类型转换成数组 然后在用foreach 遍历即可

$array = get_object_vars($test);$json= '[{"id":"1","name":"\u5f20\u96ea\u6885","age":"27","subject":"\u8ba1\u7b97\u673a\u79d1\u5b66\u4e0e\u6280\u672f"},{"id":"2","name":"\u5f20\u6c9b\u9716","age":"21","subject":"\u8f6f\u4ef6\u5de5\u7a0b"}]';

首先要用 json_decode 对 JSON 格式的字符串进行编码,

    $students = json_decode($json);

直接在PHP文件用$students :

    for($i=0;$i";    }

则报错如下:

Fatal error: Cannot use objectof type stdClass as array in D:\wamp\www\test.phpon line 18

这时候打印一下 $students :

var_dump($students);

会输出:

array(2) {        [0]=>        object(stdClass)#2 (4) {             ["id"]=> string(1)"1"             ["name"]=> string(9)"张雪梅"             ["age"]=> string(2)"27"        object(stdClass)#3 (4) {                              这个就说明转换的json字符串转为对象而非数组,请看下面的红色背景字             ["subject"]=>string(24) "计算机科学与技术"        }        [1]=>            ["id"]=> string(1)"2"            ["name"]=> string(9)"张沛霖"            ["age"]=> string(2)"21"           ["subject"]=> string(12) "软件工程"        }    }

可见,返回的结果是 object 而非 array。应以对象形式访问:

    foreach($students as $obj){         echo "姓名:".$obj->name."年龄:".$obj->age."专业:".$obj->subject."
"; }

输出结果为:

姓名:张雪梅 年龄:27 专业:计算机科学与技术
姓名:张沛霖 年龄:21 专业:软件工程

mixedjson_decode ( string$json [, bool$assoc ] )

说明:接受一个 JSON 格式的字符串并且把它转换为 PHP 变量。

json_decode 可接收两个参数:

json:待解码的jsonstring 格式的字符串。

assoc:当该参数为 TRUE 时,将返回 array 而非 object 。

$students = json_decode($json,true);

这时打印一下 $students :

var_dump($students);

输出:

  array(2) {        [0]=>        array(4) {            ["id"]=> string(1)"1"            ["name"]=> string(9)"张雪梅"            ["age"]=> string(2)"27"            ["subject"]=>string(24) "计算机科学与技术"        }        [1]=>        array(4) {           ["id"]=> string(1)"2"           ["name"]=> string(9)"张沛霖"           ["age"]=> string(2)"21"           ["subject"]=>string(12) "软件工程"        }    }

这时,$students 就是个数组了,可以直接用:

for($i=0;$i";}

输出结果为:

姓名:张雪梅 年龄:27 专业:计算机科学与技术
姓名:张沛霖 年龄:21 专业:软件工程

总结:

在PHP代码中处理JSON 格式的字符串的两种方法:

方法一:

$json= '[{"id":"1","name":"\u5f20\u96ea\u6885","age":"27","subject":"\u8ba1\u7b97\u673a\u79d1\u5b66\u4e0e\u6280\u672f"},{"id":"2","name":"\u5f20\u6c9b\u9716","age":"21","subject":"\u8f6f\u4ef6\u5de5\u7a0b"}]';$students= json_decode($json);//得到的是 objectforeach($studentsas $obj){    echo "姓名:".$obj->name."   年 龄:".$obj->age."   专 业:".$obj->subject."
";}

方法二:

$json= '[{"id":"1","name":"\u5f20\u96ea\u6885","age":"27","subject":"\u8ba1\u7b97\u673a\u79d1\u5b66\u4e0e\u6280\u672f"},{"id":"2","name":"\u5f20\u6c9b\u9716","age":"21","subject":"\u8f6f\u4ef6\u5de5\u7a0b"}]';$students= json_decode($json, true);//得到的是 arrayfor($i=0;$i";

undefined

---------------------------------------------------------------------------------------------------------------------------------

以上是"php中如何将json转换成对象"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!

姓名 对象 专业 字符 字符串 年龄 方法 格式 工程 技术 科学 计算机 软件 软件工程 张雪 张雪梅 输出 内容 数组 篇文章 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 北京路客互联网科技有限公司 互联网巨头反垄断金融科技 高科技与互联网 奇士达互联网科技 有木互联网科技 万达互联网科技 互联网高科技企业 海南购全球互联网科技 成都仁贤领冠互联网科技有限公司 老年人脱离互联网科技的作文 花神(南京)互联网科技有限公司 互联网5g黑科技有哪些 乌鲁木齐新华智原互联网科技学校 无锡工业互联网科技有限公司 云南省自由互联网科技有限公司 领航科技大厦互联网公司 宇信科技在杭州互联网排第几 马化腾互联网科技教学 众联互联网络科技 科技发展第三阶段互联网时代 融贸通互联网科技 中国最先进互联网科技公司 消费医药和互联网科技 迪庆互联网科技招生 互联网科技如何创业 恒生互联网科技业指数调整周期 每天都有哪些好的互联网科技 互联网科技包装股 互联网科技手抄报图片 杭州科技互联网公司有哪些
0