php中json字符串转数组的方法

  介绍

小编给大家分享一下php中json字符串转数组的方法,希望大家阅读完这篇文章后大所收获、下面让我们一起去探讨吧!

php json字符串转数组的方法:首先用“json_decode”函数对json格式的字符串进行编码,然后通过“var_dump(学生)美元;”方式打印“学生”美元即可。

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

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

$数组=get_object_vars($测试);   $ json=& # 39; [{“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"}] & # 39;;

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

$学生=json_decode (json)美元;

直接在php文件用美元学生:

,(i=0; i<美元计数(学生)美元;美元我+ +){   回声“姓名:“。学生美元[$ i][& # 39;名字# 39;]!”年龄:“。学生美元($ i)(& # 39;年龄# 39;]!”专业:“。学生美元($ i)(& # 39;主题# 39;]!”& lt; br/在“;   }

则报错如下:

致命错误   :不能使用objectof stdClass数组的类型   D: \ wamp \ www \ test.php   在网上   18

这时候打印一美元下学生:

var_dump(学生)美元;

会输出:

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

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

foreach(学生obj美元){   回声“姓名:“。obj→美元名字!”年龄:“。obj→美元时代!”专业:“。obj→美元主题!”& lt; br/在“;   }

输出结果为:

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

和<>强json_decode (json字符串$(美元bool assoc])

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

json_decode可接收两个参数:

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

<强>协会:当该参数为真时,将返回数组而非对象。

$学生=json_decode (json美元,真的);

这时打印一美元下学生:

var_dump(学生)美元;

输出:

阵列(2){   [0]=比;   阵列(4){   (“id")=比;字符串(1)“1”;   (“name")=比;字符串(9)“张雪梅“;   (“age")=比;字符串(2)“27”;   [“subject"]=祝辞字符串(24),计算机科学与技术”;   }   [1]=比;   阵列(4){   (“id")=比;字符串(1)“2”;   (“name")=比;字符串(9)“张沛霖,   (“age")=比;字符串(2)“21”;   [“subject"]=祝辞字符串(12)“软件工程“;   }   }

这时,学生就美元是个数组了,可以直接用:

,(i=0; i<美元计数(学生)美元;美元我+ +){   回声“姓名:“。学生美元[$ i][& # 39;名字# 39;]!”年龄:“。学生美元($ i)(& # 39;年龄# 39;]!”专业:“。学生美元($ i)(& # 39;主题# 39;]!”& lt; br/在“;   }

输出结果为:

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

<强>总结:

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

方法一:

$ JSON=& # 39; [{“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"}] & # 39;;   美元$学生=json_decode (json);//得到的是对象   foreach(跟美元obj) {   回声“姓名:“。obj→美元干净自己的名字,,,,,,年龄:“。obj→美元干净自己的年龄,,,,,,专业:“。obj→美元主题!”& lt; br/在“;}

php中json字符串转数组的方法