在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()方法;
現在一般用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 可選。 一個轉換結果的函數。 將為對象的每個成員調用此函數。
返回值: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 必選 通常為對象或數組
replacer 可選轉換結果的函數或數組
space 可選。 添加縮進、空白和換行符來返回值 JSON 文本更便於閱讀。
如果省略 space,返回值文本生成,沒有任何額外的空白。
如果 space 是數字,則返回值具有空白的文本縮進指定數目在每個級別的。 如果 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