>  기사  >  백엔드 개발  >  php读取数据后转换成json输出_PHP教程

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

WBOY
WBOY원래의
2016-07-14 10:09:52833검색

现在很多网站都用了异步加载的技术,大部分加载的数据格式都是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读取数...
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.