(1)把 JSON 文本轉換爲 JavaScript 對象
由於 JSON 語法是 JavaScript 語法的子集,JavaScript 函數 eval() 可用於將 JSON 文本轉換爲 JavaScript 對象。
語法:var obj = eval ("(" + jsonTxt + ")"); 其中jsonTxt是JSON文本。
實例如下:
var jsonTxt = '{"name":"leinov","sex":"famle","address":"beijing"}' var jsonObj = eval("("+jsonTxt+")"); alert(typeof jsonObj); //Object
JSON.parse();
作用:將JavaScript對象表示法的JSON字符串轉換爲對象(字符串轉對象)
語法:JSON.parse(text [, reviver])
text 必選。 一個有效的 JSON 字符串。
reviver 可選。 一個轉換結果的函數。 將爲對象的每個成員調用此函數。
返回值:JSON對象
實例如下:
var jsonTxt = '{"name":"leinov","sex":"famle","address":"beijing"}' var jsonObj = JSON.parse(jsonTxt); alert(typeof jsonObj); //Object
(2)把 JSON 對象轉換爲 JSON字符串
JSON.stringify()
作用:將 JavaScript json對象轉換爲JavaScript對象表示法的JSON字符串(對象轉爲字符串)
語法:JSON.stringify(value [, replacer] [, space]);
value 必選。 通常爲對象或數組
replacer 可選。 轉換結果的函數或數組
space 可選。 添加縮進、空白和換行符來返回值 JSON 文本更便於閱讀。
如果省略 space,返回值文本生成,沒有任何額外的空白。
如果 space 是數字,則返回值具有空白的文本縮進指定數目在每個級別的。 如果 space 大於10 時,文本縮進 10 個空白。
如果 space 爲非空字符串,如“\t”,返回值文本縮進與字符串的字符在每個級別。
如果 space 爲大於 10 個字符的字符串,使用前 10 個字符。
返回值:JSON 包含的文本字符串。
var student = new Object(); student.name = "lenovointer"; student.sex = "male"; student.address = "hz"; var jsonStudent = JSON.stringify(student); alert(typeof jsonStudent); //string