现在很多网站都用了异步加载的技术,大部分加载的数据格式都是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编码的,缺点是是多了些包装数据,解析数据的过程,因此速度相对会慢些,但是是完全可以接受的