json字串和json物件相互轉換有好幾種,大致有3類。
eval方法。
js原生自帶的。字串轉json物件:eval('(' + jsonstr + ')')
, 需要在json字元外包裹一對小括號 。
注意:
ie8(相容模式),ie7和ie6也可以使用eval()將字串轉為json物件,另外就算jsonstr 本來是個json物件,用eval轉換(哪怕是多次轉換)還是json物件,但這種方式不安全,因為eval會執行json串中的表示式。
json.parse(string)和json.stringify(object)方法。parsejson和tojson方法。
jquery支援的方式。前者只需要引入jquery.js即可,後者不僅要引入jquery.js,還要引入jquery.json.js。
最後,比較推薦第二種方式,不考慮低版本ie就直接用,無須引入json.js,考慮相容才需引入json.js。
除錯**:
lang="en">
charset="utf-8">
js--json字串title>
script>
src="">
script>
src="json2.js">
script>
window.onload = function
() ';//json string
var obj=;//json object
//eval('('+jsonstr+')')
var person=eval('('+str+')');
person2=eval(obj);
document.write("字串==》json: eval方法
"); document.write(person.name+","+person.***+"
"); document.write(person2.name+","+person2.***+"
"); 和json.stringify(obj)
var person3=json.parse(str);
document.write("字串==》json: json.parse(str)
"); document.write(person3.name+","+person3.***+"
"); var str3 = json.stringify(obj);
document.write("json==》字串: json.stringify(obj)
"); document.write(str3+"
"); //$.parsejson(str)和$.tojson(obj);
var person4=$.parsejson(str);
document.write("字串==》json: $.parsejson(str)
"); document.write(person4.name+","+person4.***+"
"); var str4 = json.stringify(obj);
document.write("json==》字串: $.tojson(obj)
"); document.write(str4+"
"); }//method
script>
head>
body>
html>
json物件和json字串
1 json物件 json物件,json物件的屬性可以用物件.屬性呼叫。通過console可以明顯的看到 json物件的console.log 和單獨使用console控制台輸出json物件,結果都是object json物件的屬性訪問 物件.屬性 json物件的型別可以通過typeof 檢視,型別...
json 物件和json字串
至 q 什麼是 json字串 什麼是 json物件 兩者的區別?a.json物件是直接可以使用jquery操作的格式,如c 中可以用物件 類名 點出屬性 方法 一樣 b.json字串僅僅只是乙個字串,乙個整體,不擷取的話沒辦法取出其中儲存的資料,不能直接使用,除非你只想alert 他 json物件 ...
Json字串和json物件區別
我正在嘗試快速準備一些外部api 只是希望通過我的 api 作為乙個假的響應通過這些結果。json物件是不平凡的 一萬個 行 或90kb的順序。我不想為這個乙個json響應的所有內容做乙個強型別的物件,所以我可以通過乙個解串器來執行它,所以就是這樣。所以我的控制器的基本邏輯是 json 幫助程式的整...