FAQ json字串和json物件相互轉換

2021-07-14 09:28:23 字數 1881 閱讀 2814

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 幫助程式的整...