JavaScript JSON使用原理及注意事項(xiàng)
環(huán)境
- vscode 1.46
- Microsoft Edge 83
概念
JSON 是一種按照J(rèn)avaScript對(duì)象語法的數(shù)據(jù)格式,這是 Douglas Crockford 推廣的。
雖然它是基于 JavaScript 語法,但它獨(dú)立于 JavaScript,這也是為什么許多程序環(huán)境能夠讀?。ń庾x)和生成 JSON。
JSON可以作為一個(gè)對(duì)象或者字符串存在,前者用于解讀 JSON 中的數(shù)據(jù),后者用于通過網(wǎng)絡(luò)傳輸 JSON 數(shù)據(jù)。
JavaScript 提供一個(gè)全局的 可訪問的 JSON 對(duì)象來對(duì)這兩種數(shù)據(jù)進(jìn)行轉(zhuǎn)換。
JSON 結(jié)構(gòu)
{
"squadName" : "Super hero squad",
"homeTown" : "Metro City",
"formed" : 2016,
"secretBase" : "Super tower",
"active" : true,
"members" : [
{
"name" : "Molecule Man",
"age" : 29,
"secretIdentity" : "Dan Jukes",
"powers" : [
"Radiation resistance",
"Turning tiny",
"Radiation blast"
]
},
{
"name" : "Madame Uppercut",
"age" : 39,
"secretIdentity" : "Jane Wilson",
"powers" : [
"Million tonne punch",
"Damage resistance",
"Superhuman reflexes"
]
},
{
"name" : "Eternal Flame",
"age" : 1000000,
"secretIdentity" : "Unknown",
"powers" : [
"Immortality",
"Heat Immunity",
"Inferno",
"Teleportation",
"Interdimensional travel"
]
}
]
}
JSON 數(shù)組
[
{
"name" : "Molecule Man",
"age" : 29,
"secretIdentity" : "Dan Jukes",
"powers" : [
"Radiation resistance",
"Turning tiny",
"Radiation blast"
]
},
{
"name" : "Madame Uppercut",
"age" : 39,
"secretIdentity" : "Jane Wilson",
"powers" : [
"Million tonne punch",
"Damage resistance",
"Superhuman reflexes"
]
}
]
其他注意事項(xiàng)
- JSON 是一種純數(shù)據(jù)格式,它只包含屬性,沒有方法。
- JSON 要求有兩頭的 { } 來使其合法。最安全的寫法是有兩邊的括號(hào),而不是一邊。
- 甚至一個(gè)錯(cuò)位的逗號(hào)或分號(hào)就可以導(dǎo)致 JSON 文件出錯(cuò)。您應(yīng)該小心的檢查您想使用的數(shù)據(jù)(雖然計(jì)算機(jī)生成的 JSON 很少出錯(cuò),只要生成程序正常工作)。您可以通過像 JSONLint 的應(yīng)用程序來檢驗(yàn) JSON。
- JSON 可以將任何標(biāo)準(zhǔn)合法的 JSON 數(shù)據(jù)格式化保存,不只是數(shù)組和對(duì)象。比如,一個(gè)單一的字符串或者數(shù)字可以是合法的 JSON 對(duì)象。雖然不是特別有用處……
- 不像 JavaScript 標(biāo)識(shí)符可以用作屬性,在 JSON 中,只有字符串才能用作屬性。
對(duì)象和文本間的轉(zhuǎn)換
可以使用 JSON.stringify 和 JSON.parse 來進(jìn)行對(duì)象和文本間的轉(zhuǎn)換。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
JavaScript在for循環(huán)中綁定事件解決事件參數(shù)不同的情況
響應(yīng)一堆相似的事件,但是每個(gè)事件的參數(shù)都不同,在這種情況下就可以使用JavaScript 在for循環(huán)中綁定事件,下面有個(gè)不錯(cuò)的示例,大家可以參考下2014-01-01
JS實(shí)現(xiàn)進(jìn)度條順滑版詳細(xì)方案
最近在小程序里,做了一個(gè)類似微博刷視頻的需求,其中有一部分功能需要實(shí)現(xiàn)自定義進(jìn)度條,在做完第一版之后發(fā)現(xiàn)進(jìn)度條不順滑,而后想查查網(wǎng)上看有沒有什么好的方案,但最終沒找到合適的。下面給大家分享JS進(jìn)度條順滑版實(shí)現(xiàn)代碼,需要的朋友參考下吧2021-08-08
你必須知道的Javascript知識(shí)點(diǎn)之"字面量和對(duì)應(yīng)類型"說明介紹
本篇文章小編為大家介紹,你必須知道的Javascript知識(shí)點(diǎn)之"字面量和對(duì)應(yīng)類型"。需要的朋友參考下2013-04-04
詳解JavaScript數(shù)組和字符串中去除重復(fù)值的方法
這篇文章主要介紹了詳解JavaScript數(shù)組和字符串中去除重復(fù)值的方法,及利用各種限制條件對(duì)數(shù)組和字符串進(jìn)行過濾,需要的朋友可以參考下2016-03-03
KnockoutJS 3.X API 第四章之?dāng)?shù)據(jù)控制流component綁定
這篇文章主要介紹了KnockoutJS 3.X API 第四章之?dāng)?shù)據(jù)控制流component綁定的相關(guān)資料,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2016-10-10
javascript背景時(shí)鐘實(shí)現(xiàn)方法
這篇文章主要介紹了javascript背景時(shí)鐘實(shí)現(xiàn)方法,涉及javascript時(shí)間及頁面元素樣式的相關(guān)操作技巧,需要的朋友可以參考下2015-06-06

