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