摘要:事實(shí)上大部分現(xiàn)代計(jì)算機(jī)語(yǔ)言都以某種形式支持它們。語(yǔ)法兩種表示結(jié)構(gòu)有兩種表示結(jié)構(gòu),對(duì)象和數(shù)組。對(duì)象是一個(gè)無(wú)序的名稱值對(duì)集合。值之間使用逗號(hào)分隔。目前,主流的瀏覽器對(duì)支持都非常完善。
JSON入門(mén)
原文連接
JSON的全稱是”JavaScript Object Notation”,意思是JavaScript對(duì)象表示法,它是一種基于文本,獨(dú)立于語(yǔ)言的輕量級(jí)數(shù)據(jù)交換格式,類似 XML但比 XML 更小、更快,更易解析初識(shí)
JSON是Web開(kāi)發(fā)領(lǐng)域最知名的技術(shù)權(quán)威Douglas Crockford創(chuàng)造
JSON 指的是 JavaScript 對(duì)象表示法(JavaScript Object Notation)
JSON 是輕量級(jí)的文本數(shù)據(jù)交換格式
JSON 獨(dú)立于語(yǔ)言
JSON 具有自我描述性,更易理解
JSON建構(gòu)于兩種結(jié)構(gòu):
“名稱/值”對(duì)的集合(A collection of name/value pairs)。不同的語(yǔ)言中,它被理解為對(duì)象(object),紀(jì)錄(record),結(jié)構(gòu)(struct),字典(dictionary),哈希表(hash table),有鍵列表(keyed list),或者關(guān)聯(lián)數(shù)組 (associative array)。
值的有序列表(An ordered list of values)。在大部分語(yǔ)言中,它被理解為數(shù)組(array)。
這些都是常見(jiàn)的數(shù)據(jù)結(jié)構(gòu)。事實(shí)上大部分現(xiàn)代計(jì)算機(jī)語(yǔ)言都以某種形式支持它們。這使得一種數(shù)據(jù)格式在同樣基于這些結(jié)構(gòu)的編程語(yǔ)言之間交換成為可能。
JSON語(yǔ)法 兩種表示結(jié)構(gòu)JSON有兩種表示結(jié)構(gòu),對(duì)象和數(shù)組。
對(duì)象是一個(gè)無(wú)序的“‘名稱/值’對(duì)”集合。一個(gè)對(duì)象以{(左括號(hào))開(kāi)始,}(右括號(hào))結(jié)束。每個(gè)“名稱”后跟一個(gè):(冒號(hào));“‘名稱/值’ 對(duì)”之間使用,(逗號(hào))分隔。
{ "name": "xing", "age": 999 }
?
數(shù)組是值(value)的有序集合。一個(gè)數(shù)組以[(左中括號(hào))開(kāi)始,](右中括號(hào))結(jié)束。值之間使用,(逗號(hào))分隔。
[ { key1:value1, key2:value2 }, { key3:value3, key4:value4 } ]語(yǔ)法規(guī)則
數(shù)據(jù)在名稱/值對(duì)中
數(shù)據(jù)由逗號(hào)分隔
大括號(hào)保存對(duì)象
中括號(hào)保存數(shù)組
JSON 值可以是:數(shù)字(整數(shù)或浮點(diǎn)數(shù))
字符串(在雙引號(hào)中)
邏輯值(true 或 false)
數(shù)組(在中括號(hào)中)
對(duì)象(在大括號(hào)中)
null
在JavaScript中使用JSONJSON 通常用于與服務(wù)端交換數(shù)據(jù)。在接收服務(wù)器數(shù)據(jù)時(shí)一般是字符串。我們可以使用 JSON.parse() 方法將數(shù)據(jù)轉(zhuǎn)換為 JavaScript 對(duì)象,使用 JSON.stringify() 方法將 JavaScript 對(duì)象轉(zhuǎn)換為字符串.
JSON.parse(text[, reviver])
JSON.stringify(value[, replacer[, space]])
eval()方法 存在性能和安全問(wèn)題不建議使用
首先我們定義一個(gè)對(duì)象,由于JSON使用用JavaScript編寫(xiě)的,所以對(duì)JSON的操作無(wú)異于JavaScript對(duì)數(shù)組與對(duì)象的操作
let Obj = { name: "xing", age: "99", hobby: ["吃", "喝", "玩"] }
服務(wù)器一般返回JSON字符串,我們用 JSON.stringify() 將這個(gè)對(duì)象轉(zhuǎn)換成JSON字符串模擬服務(wù)器返回的數(shù)據(jù),然后再用JSON.parse()解析成JSON對(duì)象來(lái)使用
let jsonStr = JSON.stringify(Obj) // string: {"name":"xing","age":"99","hobby":["吃","喝","玩"]} let jsonObj = JSON.parse(jsonStr) // Obect: { name: "xing", age: "99", hobby: [ "吃", "喝", "玩" ] }JSON增刪改查
// 讀取 let myName = jsonObj.name console.log(myName) // xing // 新增 josnObj.sex = "male" console.log(josnObj) //{ name: "xing", age: "99", hobby: [ "吃", "喝", "玩" ], sex: "female" } // 修改 josnObj.sex = "female" console.log(josnObj) // { name: "xing", age: "99", hobby: [ "吃", "喝", "玩" ], sex: "female" } // 刪除 delete josnObj.sex console.log(josnObj) // { name: "xing", age: "99", hobby: [ "吃", "喝", "玩" ] }
用for in遍歷JSON數(shù)據(jù)
for(let x in jsonObj){ console.log(`${x}:${jsonObj[x]}`) } /* name:xing age:99 hobby:吃,喝,玩 */
到此,我們了解JSON的使用,JSON已經(jīng)是JavaScript標(biāo)準(zhǔn)的一部分。目前,主流的瀏覽器對(duì)JSON支持都非常完善。應(yīng)用JSON,我們可以從XML的解析中擺脫出來(lái),對(duì)那些應(yīng)用AJAX的Web 2.0網(wǎng)站來(lái)說(shuō),JSON是目前最靈活的輕量級(jí)方案。
參考鏈接:json.org
菜鳥(niǎo)教程
MDN
JSON在線解析
原文連接
大家可以關(guān)注我的公眾號(hào),一起玩耍。有技術(shù)干貨也有扯淡亂談,關(guān)注回復(fù)[888]領(lǐng)取福利
左手代碼右手磚,拋磚引玉
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/82366.html
摘要:的是中包圍的是對(duì)象,對(duì)象的多個(gè)鍵值對(duì)用分隔。中包圍的是序列理解為數(shù)組即可,對(duì)象之間用分隔。當(dāng)你的值要用字符串來(lái)索引時(shí),就把數(shù)據(jù)組織成對(duì)象。會(huì)得到關(guān)于一節(jié)中的例子來(lái)自 JSON json的MIME type是application/json. {...}中包圍的是對(duì)象,對(duì)象的多個(gè)鍵值對(duì)用,分隔。[...]中包圍的是序列(理解為數(shù)組即可),對(duì)象之間用,分隔。當(dāng)你的值要用字符串來(lái)索引時(shí),...
摘要:目錄的基礎(chǔ)頁(yè)面的功能解釋的基礎(chǔ)頁(yè)面的功能解釋如何創(chuàng)建請(qǐng)求如何創(chuàng)建請(qǐng)求提取響應(yīng)結(jié)果中的值然后再其它接口中調(diào)用提取響應(yīng)結(jié)果中的值然后再其它接口中調(diào)用新建環(huán)境來(lái)存儲(chǔ)環(huán)境變量新建環(huán)境來(lái)存儲(chǔ)環(huán)境變量在中通過(guò)語(yǔ)句提取響應(yīng)結(jié)果 目錄 1.Postman的基礎(chǔ)頁(yè)面的功能解釋 2.如何創(chuàng)建請(qǐng)求 3.提取?響應(yīng)...
摘要:采用完全獨(dú)立于任何程序語(yǔ)言的文本格式,使成為理想的數(shù)據(jù)交換語(yǔ)言為什么需要提到,我們就應(yīng)該和來(lái)進(jìn)行對(duì)比。也是一種存儲(chǔ)和交換文本信息的手段。那么好在哪里呢比更小更快,更易解析。使用的時(shí)候,也支持將轉(zhuǎn)成但是,我們不一定使用框架來(lái)做開(kāi)發(fā)呀。 什么是JSON JSON:JavaScript Object Notation 【JavaScript 對(duì)象表示法】 JSON 是存儲(chǔ)和交換文本信息的語(yǔ)法...
摘要:本身也是運(yùn)行在環(huán)境中的模塊,它通常會(huì)返回一個(gè)函數(shù)。這個(gè)命名規(guī)則和搜索優(yōu)先級(jí)順序在的中定義。那就等下一篇介紹吧,一篇文章有太多內(nèi)容,會(huì)讓人很乏的從入門(mén)到放棄四從入門(mén)到放棄二從入門(mén)到放棄三源代碼 此篇文章僅僅是整理自己接觸webpack的入門(mén)過(guò)程,可能有很多不正確的地方,希望大家諒解,并指出錯(cuò)誤幫助改進(jìn)。 對(duì)于webpack的介紹和前期對(duì)他的入門(mén)使用,我覺(jué)得官方(中文網(wǎng))已經(jīng)介紹的很簡(jiǎn)單了...
摘要:對(duì)數(shù)向上取整對(duì)數(shù)向下取整取到的隨機(jī)數(shù)。取絕對(duì)值舉例說(shuō)明向上取整向下取整隨機(jī)數(shù)值是之間的隨機(jī)數(shù),包括,不包含。 1.JSON JSON: 對(duì)象格式的字符串 輕量的數(shù)據(jù)傳輸格式 注意事項(xiàng): 鍵名 需要 使用 雙引號(hào) 包起來(lái) JOSN有兩個(gè)方法:JSON.parse和 JSON.stringify。 JSON.parse,將后臺(tái)傳來(lái)的字符串轉(zhuǎn)化為對(duì)象。其字符串的內(nèi)容就是對(duì)象才需要這個(gè)轉(zhuǎn)。...
閱讀 4067·2021-11-16 11:44
閱讀 5325·2021-10-09 09:54
閱讀 2073·2019-08-30 15:44
閱讀 1751·2019-08-29 17:22
閱讀 2826·2019-08-29 14:11
閱讀 3454·2019-08-26 13:25
閱讀 2385·2019-08-26 11:55
閱讀 1677·2019-08-26 10:37