现在很多网站都用了异步加载的技术,大部分加载的数据格式都是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编码的,缺点是是多了些包装数据,解析数据的过程,因此速度相对会慢些,但是是完全可以接受的
相关报道:
??ValidationType属性设置验证的类型,它可以是:DTD, XSD, XDR或者none。假如没有指定验证的类型(用ValidationType Auto选项),浏览器将主动的根据文档用最合 更多
print?//字符串转化为xml function toXmlDom(source){ var xmlDoc = null; if (window.ActiveXObject) { var ARR_ACTIVEX = [MSXML4.DOMDocument,MSXML3.DOMDocument,MSXML2.DOMDocument,MSXML.DOMDocument,Microsoft.XmlDom]; var XmlDomflag = false; for 更多