欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

JSON與JS對象的區(qū)別與對比

 更新時間:2017年03月01日 09:01:43   投稿:wdc  
JSON是什么?JSON是JS的一種簡單數(shù)據(jù)格式,JSON是JavaScript原生格式,它是一種嚴(yán)格的js對象的格式,JSON的屬性名必須有雙引號,如果值是字符串,也必須是雙引號

JSON是什么?(JSON和JavaScript對象有什么區(qū)別?)如何把JS對象轉(zhuǎn)化為JSON字符串,又如何把JSON字符串轉(zhuǎn)化為JavaScript對象?

JSON (JavaScript Object Notation)一種簡單的數(shù)據(jù)格式,比xml更輕巧。 JSON 是 JavaScript 原生格式,這意味著在JavaScript 中處理 JSON 數(shù)據(jù)不需要任何特殊的 API 或工具包。JSON的規(guī)則很簡單: 對象是一個無序的“名稱/值”對集合。一個對象以“{”(左括號)開始,“}”(右括號)結(jié)束。每個“名稱”后跟一個“:”(冒號);“名稱/值”對之間使用“,”(逗號)分隔。

它是一種嚴(yán)格的js對象的格式,JSON的屬性名必須有雙引號,如果值是字符串,也必須是雙引號;

JSON只是一種數(shù)據(jù)格式(或者叫數(shù)據(jù)形式);

<script>
var obj2={};//這只是JS對象
var obj3={width:100,height:200};/*這跟JSON就更不沾邊了,只是JS的 對象 */
var obj4={'width':100,'height':200};/*這跟JSON就更不沾邊了,只是JS的對象 */
var obj5={"width":100,"height":200,"name":"rose"}; /*我們可以把這個稱做:JSON格式的JavaScript對象 */
var str1='{"width":100,"height":200,"name":"rose"}';/*我們可以把這個稱做:JSON格式的字符串 */
var a=[
 {"width":100,"height":200,"name":"rose"},
 {"width":100,"height":200,"name":"rose"},
 {"width":100,"height":200,"name":"rose"},
 ];
 /*這個叫JSON格式的數(shù)組,是JSON的稍復(fù)雜一點(diǎn)的形式 */
var str2='['+
 '{"width":100,"height":200,"name":"rose"},'+
 '{"width":100,"height":200,"name":"rose"},'+
 '{"width":100,"height":200,"name":"rose"},'+
 ']' ;
 /* 這個叫稍復(fù)雜一點(diǎn)的JSON格式的字符串 */ 
</script>

JSON和JS對象區(qū)別對比表

區(qū)別

Json

Javascript對象

含義

僅僅是一種數(shù)據(jù)格式

表示類的實(shí)例

傳輸

可以跨平臺數(shù)據(jù)傳輸,速度快

不能傳輸

表現(xiàn)

1,鍵值對方式,鍵必須加引號

2,值不能是方法函數(shù),不能是undefined/NaN

1,鍵值對方式,鍵不加引號

2,值可以是函數(shù)、對象、字符串、數(shù)字、boolean 等

相互轉(zhuǎn)換

Json轉(zhuǎn)化為js對象:

1,JSON.parse(jsonstring);
(不兼容ie7)

2,Jsobj=eval("("+jsonstring+")");

(兼容所有瀏覽器,但不安全,會執(zhí)行json里面的表達(dá)式?)

Js對象轉(zhuǎn)換為Json:

JSON.stringify(jsobj);(不兼容ie7)

其他

調(diào)用json官網(wǎng)的js,實(shí)現(xiàn)parse 和 stringify 在各個瀏覽器的兼容:

https://github.com/douglascrockford/JSON-js/blob/master/json2.js

總而言之你可以理解為JSON是JS下的一種數(shù)據(jù)格式,他從屬于JS,并且在處理JSON數(shù)據(jù)時可直接使用JS內(nèi)置API

相關(guān)文章

最新評論