基于JSON數(shù)據(jù)格式詳解
JSON是行業(yè)內(nèi)使用最為廣泛的數(shù)據(jù)交換格式,在很多場(chǎng)景都有廣泛的應(yīng)用。JSON適用于進(jìn)行數(shù)據(jù)交互的場(chǎng)景,典型的是Ajax中實(shí)現(xiàn)異步加載;為了支持跨平臺(tái)、數(shù)據(jù)安全等的Web Service也可以使用(API接口返回值)。
JSON(JavaScript Object Notation)是一種完全獨(dú)立于語(yǔ)言的、輕量級(jí)的數(shù)據(jù)交換格式。它基于JavaScript Programming Language, Standard ECMA-262 3rd Edition - December 1999的一個(gè)子集。JSON的官方MIME類(lèi)型是application/json,文件擴(kuò)展名是 .json。
優(yōu)點(diǎn):易于人閱讀和編寫(xiě)。同時(shí)也易于機(jī)器解析和生成。支持眾多語(yǔ)言。
JSON建構(gòu)于兩種結(jié)構(gòu):
· “名稱(chēng)/值”對(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)。
JSON具有以下這些形式:
Object是一個(gè)無(wú)序的“‘名稱(chēng)/值'對(duì)”集合。一個(gè)對(duì)象以“{”開(kāi)始,“}”結(jié)束。每個(gè)“名稱(chēng)”后跟一個(gè)“:”(冒號(hào));“‘名稱(chēng)/值' 對(duì)”之間使用“,”分隔。
Array是值(value)的有序集合。一個(gè)數(shù)組以“[”開(kāi)始,“]”結(jié)束。值之間使用“,”分隔。
值(value)可以是雙引號(hào)括起來(lái)的字符串(string)、數(shù)值(number)、true、false、 null、對(duì)象(object)或者數(shù)組(array)。這些結(jié)構(gòu)可以嵌套。
基本類(lèi)型:
string、number、 true、false、 null。
字符串(string)是由雙引號(hào)包圍的任意數(shù)量Unicode字符的集合,使用反斜線轉(zhuǎn)義。一個(gè)字符(character)即一個(gè)單獨(dú)的字符串(character string)。
JSON實(shí)例
{ "name":"Python學(xué)習(xí)者", "age":20, "course":["Java","Python"], "job":null, "url":"http://www.dbjr.com.cn" }
JavaScript
<html> <head> <meta charset="utf-8"> <title>Pyhton學(xué)習(xí)者-JSON</title> </head> <body> <p>使用" . "訪問(wèn)JSON對(duì)象</p> <p id="demo1"></p> <p>使用" [] "訪問(wèn)JSON對(duì)象</p> <p id="demo2"></p> <script> var obj, name, age; obj = { "name":"Python學(xué)習(xí)者", "age":20, "course":["Java","Python"], "job":null, "url":"http://www.dbjr.com.cn" } name = obj.name; document.getElementById("demo1").innerHTML = name; age = obj["age"]; document.getElementById("demo2").innerHTML = age; </script> </body> </html>
MongoDB
MongoDB是一種常用的NoSQL數(shù)據(jù)庫(kù),它所有的信息都是按照文檔保存的,保存的結(jié)構(gòu)就是JSON結(jié)構(gòu)。
db.students.insert({"name" : "張三" , "sex" : "男" , "age" : 18 , "score" : 85 }); db.students.insert({"name" : "李四" , "sex" : "女" , "age" : 21 , "score" : 93 }); db.students.insert({"name" : "王五" , "sex" : "女" , "age" : 19 , "score" : 68 }); db.students.find("name":"張三");
其實(shí)JSON結(jié)構(gòu)并不難理解,需要注意的是"key/value"中,key是string類(lèi)型,要使用 ""(雙引號(hào))。
參考資料:
在線代碼格式化:http://tool.oschina.net/codeformat/json
JSON官方網(wǎng)站:http://www.json.org/
以上這篇基于JSON數(shù)據(jù)格式詳解就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
- JSON 數(shù)據(jù)格式詳解
- JQuery 解析多維的Json數(shù)據(jù)格式
- JSON 數(shù)據(jù)格式介紹
- Json對(duì)象與Json字符串互轉(zhuǎn)(4種轉(zhuǎn)換方式)
- js 將json字符串轉(zhuǎn)換為json對(duì)象的方法解析
- 解析JSON對(duì)象與字符串之間的相互轉(zhuǎn)換
- JS對(duì)象與JSON格式數(shù)據(jù)相互轉(zhuǎn)換
- JavaScript中json對(duì)象和string對(duì)象之間相互轉(zhuǎn)化
- JS解析json數(shù)據(jù)并將json字符串轉(zhuǎn)化為數(shù)組的實(shí)現(xiàn)方法
- js實(shí)現(xiàn)數(shù)組轉(zhuǎn)換成json
- json對(duì)象與數(shù)組以及轉(zhuǎn)換成js對(duì)象的簡(jiǎn)單實(shí)現(xiàn)方法
- json數(shù)據(jù)格式常見(jiàn)操作示例
相關(guān)文章
JavaScript生成驗(yàn)證碼并實(shí)現(xiàn)驗(yàn)證功能
這篇文章主要介紹了JavaScript生成驗(yàn)證碼并實(shí)現(xiàn)驗(yàn)證功能的相關(guān)資料,代碼簡(jiǎn)單易懂,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2016-09-09JavaScript實(shí)現(xiàn)動(dòng)態(tài)添加Form表單元素的方法示例
這篇文章主要介紹了JavaScript實(shí)現(xiàn)動(dòng)態(tài)添加Form表單元素的方法,結(jié)合實(shí)例形式分析了javascript表單元素操作相關(guān)函數(shù)使用方法與相關(guān)注意事項(xiàng),需要的朋友可以參考下2017-08-08原生Js實(shí)現(xiàn)簡(jiǎn)易煙花爆炸效果的方法
這篇文章主要介紹了原生Js實(shí)現(xiàn)簡(jiǎn)易煙花爆炸效果的方法,實(shí)例分析了javascript實(shí)現(xiàn)煙花爆炸效果的原理與具體實(shí)現(xiàn)方法,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-03-03JS中call apply bind函數(shù)手寫(xiě)實(shí)現(xiàn)demo
這篇文章主要為大家介紹了JS中call apply bind函數(shù)手寫(xiě)實(shí)現(xiàn)demo,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-03-03微信小程序 如何獲取網(wǎng)絡(luò)狀態(tài)
這篇文章主要介紹了微信小程序 如何獲取網(wǎng)絡(luò)狀態(tài),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-07-07js對(duì)url進(jìn)行編碼解碼的三種方式總結(jié)
為一個(gè)字符串進(jìn)行URL編碼很容易,只需要調(diào)用encodeURI,傳入要編碼的字符串即可,而且實(shí)現(xiàn)的方法不止這一個(gè),下面這篇文章主要給大家介紹了關(guān)于js對(duì)url進(jìn)行編碼解碼的三種方式,需要的朋友可以參考下2023-02-02