千家信息网

php中如何将json转换成对象

发表于:2025-11-08 作者:千家信息网编辑
千家信息网最后更新 2025年11月08日,这篇文章主要为大家展示了"php中如何将json转换成对象",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"php中如何将json转换成对象"这篇文章吧。ph
千家信息网最后更新 2025年11月08日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安全错误 数据库的锁怎样保障安全 疫情期间如何维护网络安全 读取用户数据库需要厂家授权 php软件开发的自我介绍 杭州优翡网络技术有限公司 计算机网络技术的集中管理 软件开发是需要数学好的吗 梧州教育软件开发 广州学习软件开发费用 骏越app服务器连接不上 杭州驭宝网络技术有限公司 江苏互联网络技术服务多少钱 多媒体技术与网络技术结合 平安新科技互联网公司 发展新一代信息网络技术 数据库怎么迁移最安全 倡议书注意网络安全 中琅条码打印数据库 数据库如何创建办公信息管理 科研数据库考试表情包 网络安全头像怎么写 云南乐富通互联网科技有限公司 Qt 如何连接达梦数据库 华为数据服务器交换机价格 四川党员教育软件开发系统 杭州qt软件开发外包 如何获取服务器管理口ip 网络技术员学历 数据库中的master gpu服务器显卡哪个合算 qq服务器时间可以修改吗
0