JSON是行業(yè)內(nèi)使用最為廣泛的數(shù)據(jù)交換格式,在很多場景都有廣泛的應(yīng)用。JSON適用于進(jìn)行數(shù)據(jù)交互的場景,典型的是Ajax中實現(xiàn)異步加載;為了支持跨平臺、數(shù)據(jù)安全等的Web Service也可以使用(API接口返回值)。
JSON(JavaScript Object Notation)是一種完全獨立于語言的、輕量級的數(shù)據(jù)交換格式。它基于JavaScript Programming Language, Standard ECMA-262 3rd Edition - December 1999的一個子集。JSON的官方MIME類型是application/json,文件擴(kuò)展名是 .json。
優(yōu)點:易于人閱讀和編寫。同時也易于機(jī)器解析和生成。支持眾多語言。
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)。
JSON具有以下這些形式:
Object是一個無序的“‘名稱/值'對”集合。一個對象以“{”開始,“}”結(jié)束。每個“名稱”后跟一個“:”(冒號);“‘名稱/值' 對”之間使用“,”分隔。
Array是值(value)的有序集合。一個數(shù)組以“[”開始,“]”結(jié)束。值之間使用“,”分隔。
值(value)可以是雙引號括起來的字符串(string)、數(shù)值(number)、true、false、 null、對象(object)或者數(shù)組(array)。這些結(jié)構(gòu)可以嵌套。
基本類型:
string、number、 true、false、 null。
字符串(string)是由雙引號包圍的任意數(shù)量Unicode字符的集合,使用反斜線轉(zhuǎn)義。一個字符(character)即一個單獨的字符串(character string)。
JSON實例
{ "name":"Python學(xué)習(xí)者", "age":20, "course":["Java","Python"], "job":null, "url":"http://www.survivalescaperooms.com"}
JavaScript
<html><head> <meta charset="utf-8"> <title>Pyhton學(xué)習(xí)者-JSON</title></head><body> <p>使用" . "訪問JSON對象</p> <p id="demo1"></p> <p>使用" [] "訪問JSON對象</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.survivalescaperooms.com" } name = obj.name; document.getElementById("demo1").innerHTML = name; age = obj["age"]; document.getElementById("demo2").innerHTML = age;</script></body></html>
MongoDB
MongoDB是一種常用的NoSQL數(shù)據(jù)庫,它所有的信息都是按照文檔保存的,保存的結(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":"張三");
其實JSON結(jié)構(gòu)并不難理解,需要注意的是"key/value"中,key是string類型,要使用 ""(雙引號)。
參考資料:
在線代碼格式化:http://tool.oschina.net/codeformat/json
JSON官方網(wǎng)站:http://www.json.org/
以上這篇基于JSON數(shù)據(jù)格式詳解就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持武林網(wǎng)。
新聞熱點
疑難解答