首頁  >  文章  >  web前端  >  談JSON物件和字串之間的相互轉換JSON.stringify(obj)和JSON.parse(string)_javascript技巧

談JSON物件和字串之間的相互轉換JSON.stringify(obj)和JSON.parse(string)_javascript技巧

WBOY
WBOY原創
2016-05-16 15:37:381273瀏覽

在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 為非空字串,如“ ”,則傳回值文字縮排與字串的字元在每個層級。

         如果 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
陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn