您好,登錄后才能下訂單哦!
JSON對象的格式:
JSON(JavaScript Object Notation)一種簡單的數據格式,比xml更輕巧。XML曾經是程序界風靡一時的語言,但JSON的出現對他也有不小的沖擊。
JSON是JavaScript原生格式,這意味著在JavaScript中處理JSON數據不需要任何特殊的API或工具包。
JSON的規則很簡單:對象是一個無序的“‘名稱/值’對”集合。一個對象以“{”(左括號)開始,“}”(右括號)結束。每個“名稱”后跟一個“:”(冒號);“‘名稱/值’對”之間使用“,”(逗號)分隔。
規則如下:
1)?JSON的屬性名稱要求以“雙引號”包裹 ?????
2)?映射用冒號(“:”)表示。”名稱”:值
3)?并列的數據之間用逗號(“,”)分隔。名稱1:值1,名稱2:值2
4)?映射的集合(對象)用大括號(“{}”)表示。{名稱1:值1,名稱2:值2}
5)?并列數據的集合(數組)用方括號(“[]”)表示。
?????????[
???????????{名稱1:值,名稱2:值2},
???????????{名稱1:值,名稱2:值2}
?????????]
6)?元素值可具有的類型:string, number, object, array, true, false, null
JSON 用冒號(而不是等號)來賦值。每一條賦值語句用逗號分開。整個對象用大括號封裝起來。可用大括號分級嵌套數據。
var obj = {};
對象描述中存儲的數據可以是字符串,數字或者布爾值。對象描述也可存儲函數,那就是對象的方法。
?
JSON 只是一種文本字符串。
可以JavaScript 的 eval 語句。函數 eval 會把一個字符串當作它的參數。然后這個字符串會被當作 JavaScript 代碼來執行。因為 JSON 的字符串就是由 JavaScript 代碼構成的,所以它本身是可執行的
代碼實例:
<script language="JavaScript"> ?????var jsonObj?= {"name":"xiaoq","age":18}; ?????//?查看json對象的原生結構 ?????console.debug(jsonObj); // "({name:"xiaoq", age:18})" ?</script> |
<script language="JavaScript"> ?????var jsonStr =’{"name":"xiaoq","age":18}’; ?????//?查看json對象的原生結構 ?????console.debug(eval(“(”+jsonStr+”)”)); // ?</script> |
?
JS字面量:
{name:”小強”}
?
JSON:
???{“name”:”小強”}
?
格式的識別,可以采用字符串轉換方式。
?
但是,eval的參數是js字符串(并不是JSON字符串)。
var obj = eval("(" + jsonText + ")"); |
?
?
在ECMAScript3.1標準中,已經提供了一個名為JSON的全局對象,專門用來解析和反解析JSON字符串。
var obj = JSON.parse("{}");?// 字符串轉JSON JSON.stringify(obj);// 對象轉JSON |
?
例子1:
<script language="JavaScript"> ?????var people ={"firstName": "Brett", "lastName":"McLaughlin", ?????"email": "brett@newInstance.com" }; ?????alert(people.firstName); ?????alert(people.lastName); ?????alert(people.email); ?</script> |
?
?
?
?
<script language="JavaScript"> ??????var people =[ ?????????????????????{"firstName": "Brett","email": "brett@newInstance.com" }, ?????????????????????{"firstName": "Mary","email": "mary@newInstance.com" } ????????????????]; ? ????alert(people[0].firstName); ????alert(people[0].email); ????alert(people[1].firstName); ????alert(people[1].email); ?</script> ? |
?
?
?<script language="JavaScript"> ??????var people ={ ?????????????"username":"mary", ?????????????"age":"20", ?????????????"info":{"tel":"1234566","celltelphone":788666}, ?????????????"address":[ ?????????????????????{"city":"beijing","code":"1000022"}, ?????????????????????{"city":"shanghai","code":"2210444"} ??????????????] ????????}; ? ??????window.alert(people.username); ??????window.alert(people.info.tel); ??????window.alert(people.address[0].city); ?</script> ? |
優點:
作為一種數據傳輸格式,JSON 與 XML 很相似,但是它更加靈巧。
JSON 不需要從服務器端發送含有特定內容類型的首部信息。
缺點:
語法過于嚴謹
代碼不易讀
eval 函數存在風險
?
簡述JavaScript字面量和JSON之間的區別??
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。