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)換。
以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
JavaScript在for循環(huán)中綁定事件解決事件參數(shù)不同的情況
響應(yīng)一堆相似的事件,但是每個(gè)事件的參數(shù)都不同,在這種情況下就可以使用JavaScript 在for循環(huán)中綁定事件,下面有個(gè)不錯(cuò)的示例,大家可以參考下2014-01-01JS實(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-03KnockoutJS 3.X API 第四章之?dāng)?shù)據(jù)控制流component綁定
這篇文章主要介紹了KnockoutJS 3.X API 第四章之?dāng)?shù)據(jù)控制流component綁定的相關(guān)資料,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2016-10-10javascript背景時(shí)鐘實(shí)現(xiàn)方法
這篇文章主要介紹了javascript背景時(shí)鐘實(shí)現(xiàn)方法,涉及javascript時(shí)間及頁面元素樣式的相關(guān)操作技巧,需要的朋友可以參考下2015-06-06