在Firefox,chrome,opera,safari,ie9,ie8等高級瀏覽器直接可以用JSON對象的stringify()和parse()方法。
JSON.stringify(obj)將JSON轉為字符串。JSON.parse(string)將字符串轉為JSON格式;
var a={"name":"tom","sex":"男","age":"24"};var aToStr = JSON.stringify(a);alert(aToStr); //結果:{"name":"tom","sex":"男","age":"24"}
結果:string
var b='{"name":"tom","sex":"男","age":"24"}';var aToObj = JSON.parse(b); console.log(aToObj); //結果:Object {name: "tom", sex: "男", age: "24"}
結果:object
ie8(兼容模式),ie7和ie6沒有JSON對象,不過http://www.json.org/提供了一個json.js,這樣ie8(兼容模式),ie7和ie6就可以支持JSON對象以及其stringify()和parse()方法;
現(xiàn)在一般用json2.js,下載地址:點擊此處。
在頁面中添加就能解決IE低版本沒有json對象的問題。
<script type="text/javascript" src="js/json2.js"></script>
PS: JSON的parse()和stringfy()方法
1.JSON.parse;
作用:將JavaScript對象表示法的JSON字符串轉換為對象(字符串轉對象)
語法:JSON.parse(text [, reviver])
text 必選。 一個有效的 JSON 字符串。
reviver 可選。 一個轉換結果的函數(shù)。 將為對象的每個成員調用此函數(shù)。
返回值:JSON對象
實例:
var jsonStr = '{"name":"leinov","sex":"famle","address":"beijing"}'var jsonObj = JSON.parse(jsonStr);alert(typeof jsonObj); //Object
2.JSON.stringify
作用:將 JavaScript json對象轉換為JavaScript對象表示法的JSON字符串(對象轉為字符串)
語法:JSON.stringify(value [, replacer] [, space]);
value 必選 通常為對象或數(shù)組
replacer 可選轉換結果的函數(shù)或數(shù)組
space 可選。 添加縮進、空白和換行符來返回值 JSON 文本更便于閱讀。
如果省略 space,返回值文本生成,沒有任何額外的空白。
如果 space 是數(shù)字,則返回值具有空白的文本縮進指定數(shù)目在每個級別的。 如果 space 大于 10 時,文本縮進 10 個空白。
如果 space 為非空字符串,如“/t”,返回值文本縮進與字符串的字符在每個級別。
如果 space 為大于 10 個字符的字符串,使用前 10 個字符。
返回值:JSON 包含的文本字符串。
實例:
var student = new Object();student.name = "leinov";student.sex = "famle";student.address = "chaoyang";var jsonStudent = JSON.stringify(student);alert(typeof jsonStudent); //string
新聞熱點
疑難解答