JSON

JSON = JavaScript Object Notation,即JS 對象標記。是一種輕量級的數(shù)據(jù)交換格式。JSON 是 JS 對象的字符串表示法,它使用文本表示一個 JS 對象的信息,本質(zhì)是一個字符串,比如:

var obj = {a: 'Hello', b: 'World'};             //這是一個JS對象,注意鍵名也是可以使用引號包裹的
var json = '{"a": "Hello", "b": "World"}';      //這是一個 JSON 字符串,本質(zhì)是一個字符串

JSON 變量類型

在 JS 語言中,一切都是對象。因此,任何支持的類型都可以通過 JSON 來表示,例如字符串、數(shù)字、對象、數(shù)組等。
==> 但是對象數(shù)組是比較特殊且常用的兩種類型。
對象:對象在 JS 中是使用花括號包裹 {} 起來的內(nèi)容,數(shù)據(jù)結(jié)構(gòu)為 {key1:value1, key2:value2, ...} 的鍵值對結(jié)構(gòu)。在面向?qū)ο蟮恼Z言中,key 為對象的屬性,value 為對應的值。鍵名可以使用整數(shù)和字符串來表示。值的類型可以是任意類型。
數(shù)組:數(shù)組在 JS 中是方括號 [] 包裹起來的內(nèi)容,數(shù)據(jù)結(jié)構(gòu)為 ["java", "javascript", "vb", ...] 的索引結(jié)構(gòu)。在 JS 中,數(shù)組是一種比較特殊的數(shù)據(jù)類型,它也可以像對象那樣使用鍵值對,但還是索引使用得多。同樣,值的類型可以是任意類型。

JSON 語法規(guī)則

花括弧:  一個容器
方括號:  裝載數(shù)組
冒號:    名稱和值之間
逗號:    數(shù)組元素之間
雙引號:  用于包裹`鍵`和`值`

實例

1 - JSON 數(shù)據(jù):鍵值對

"name":"Runoob"

2 - JSON 對象

{ "name":"Runoob",  "url":"www.runoob.com" }

3 - JSON 數(shù)組

"sites":[
    {"name":"Runoob", "url":"www.runoob.com"}, 
    {"name":"Google", "url":"www.google.com"},
    {"name":"Taobao", "url":"www.taobao.com"}
]

JSON 和 JS 對象互轉(zhuǎn)

要實現(xiàn)從對象轉(zhuǎn)換為 JSON 字符串,使用 JSON.stringify() 方法

var json = JSON.stringify({a: 'Hello', b: 'World'}); //結(jié)果是 '{"a": "Hello", "b": "World"}'```

要實現(xiàn)從 `JSON 轉(zhuǎn)換`為`對象`,使用 `JSON.parse()` 方法 [○○○](http://www.runoob.com/try/try.php?filename=tryjs_json_parse)

var obj = JSON.parse('{"a": "Hello", "b": "World"}'); //結(jié)果是 {a: 'Hello', b: 'World'}```

和XML的比較

可讀性: JSON和XML的可讀性可謂不相上下,一邊是簡易的語法,一邊是規(guī)范的標簽形式,很難分出勝負。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容