js物件, 陣列 , json 互相轉換【jquery.json-2.3.js下載】
【轉自:http://www.stylejar.com/tag/json】最近因為前後臺傳輸資料,決定統一用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