最近因为前后台传输数据,决定统一用json来做,前台js原生支持json,后台用php json_decode解析一下就行,方便ajax的交互
前台本来用的jquery ,但是jquery对json的支持不是很好,所以就用的第三方的json解释器
js中对象转json ,数组转json以前都是用的 json.org/json.js ,里面有提供了几个方法如 object.toJSONString string.parseJSON 非常方便转换
但今天调试的时候,动不动就报错 too much recursion ,上网看了看,主要是因为json.org官网上的json.js脚本有问题, 但官网又提供了另外的解决方案
下载此文件即可www.JSON.org/json2.js 原来的方法已经修改为了JSON.stringify(value, replacer, space) 和 JSON.parse(text, reviver)
这时候调用就已经基本ok了,但是上网看了看资料,说JSON.stringify与IE8不兼容,因为IE8内核自定义了JSON.stringify ,引起的冲突(这部分尚未测试)
所以打算放弃使用官网的解释器.转而寻找别的办法,就是jquery的json解释器插件 http://code.google.com/p/jquery-json/
插件的代码稍微看了看,结构清晰,也比较方便…内部实现的机制,和网上精简的json解释器类差不多..
参考:
json解释器实现机制
http://snippets.dzone.com/posts/show/749
jquery json插件
http://code.google.com/p/jquery-json/
幫倒忙的IE8 JSON.stringify()
http://blog.darkthread.net/blogs/darkthreadtw/archive/2009/05/16/ie8-json-bug.aspx
转载http://www.stylejar.com/archives/js%E5%AF%B9%E8%B1%A1-%E6%95%B0%E7%BB%84-json-%E4%BA%92%E7%9B%B8%E8%BD%AC%E6%8D%A2.html