Heim  >  Artikel  >  Backend-Entwicklung  >  php读取数据后转换成json输出_PHP教程

php读取数据后转换成json输出_PHP教程

WBOY
WBOYOriginal
2016-07-14 10:09:52866Durchsuche

现在很多网站都用了异步加载的技术,大部分加载的数据格式都是json的(比如{"order":"205","205":"\u81ea\u9009\u80a1"}),下面就给大家罗列下php读取数据后转换成json输出的几种方法。

第一种最简单的最常用的也就是拼字符串的方法,这里我就不多介绍了

第二种就是借助json_encode函数

执行下面代码


[php]
var_dump(json_decode('{"order":"205","205":"\u81ea"}')); 

var_dump(json_decode('{"order":"205","205":"\u81ea"}'));
后结果为:

object(stdClass)#1 (2) { ["order"]=> string(3) "205" ["205"]=> string(3) "自" }


因此转换前需要定义一个stdClass的对象,对其赋值后执行下json_encode函数就得到了需要的结果。

后来发现,定义一个数组也是可以实现的,只要最后的数组格式为:array(order=>205,"205"=>"\u81ea")就可以了,这样的话给数组添加新元素的话就不能通过array_push的方式,而是要通过索引的方式赋值$arr["order"]="205";

两者的优缺点

第一种执行速度比第二种相对要快些(本人已做了demo测试过),缺点是拼字符串的时候,有很多引号之类的,不太注意的话容易出错

第二种更符合面向对象编程的习惯,并且会把中文unicode编码的,缺点是是多了些包装数据,解析数据的过程,因此速度相对会慢些,但是是完全可以接受的

 

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/477605.htmlTechArticle现在很多网站都用了异步加载的技术,大部分加载的数据格式都是json的(比如{order:205,205:\u81ea\u9009\u80a1}),下面就给大家罗列下php读取数...
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn