摘要:簡介是用于結(jié)構(gòu)化數(shù)據(jù)序列化的一種文本格式,包含種基礎(chǔ)類型字符串,數(shù)字,布爾和和兩種結(jié)構(gòu)類型對象和數(shù)組。對象是一個由零或者多個名值對組成的無序集合,其中名值對中名是字符串類型,值則可以是字符串,數(shù)字,布爾,,對象或數(shù)組類型。
Json
JavaScript Object Notation (JSON)是一個輕量級的,基于文本的,跨語言的數(shù)據(jù)交換格式。它從ECMAScript編程語言標(biāo)準(zhǔn)(ECMAScript Programming Language Standard)衍生而來。JSON定義了一組用于表示結(jié)構(gòu)化數(shù)據(jù)的可移植的格式化規(guī)則。
簡介JSON是用于結(jié)構(gòu)化數(shù)據(jù)序列化的一種文本格式,JSON包含4種基礎(chǔ)類型(字符串,數(shù)字,布爾和null)和兩種結(jié)構(gòu)類型(對象和數(shù)組)。
字符串是一個由零或者多個Unicode字符組成的序列。
對象是一個由零或者多個名/值對組成的無序集合,其中名/值對中名是字符串類型,值則可以是字符串,數(shù)字,布爾,null,對象或數(shù)組類型。
數(shù)組是一個由零或者多個值組成的有序序列。
JSON的設(shè)計目標(biāo)是它應(yīng)當(dāng)是盡可能小的,可移植的,文本化的,并且可以作為JavaScript的一個子集。
一個JSON文本是一個標(biāo)記(token)序列,標(biāo)記包含6種結(jié)構(gòu)字符,字符串,數(shù)字和3個字面量。
結(jié)構(gòu)字符:[ 左中括號,{ 左大括號, ] 右中括號, } 右大擴(kuò)號,: 冒號,, 逗號。6種結(jié)構(gòu)字符前后都可以添加無意義的空白字符。如:水平制表符 ,換行符 ,回車符
字面量: false,null,true。字面量MUST是小寫的,其他任何字面量都是不允許的。
對象結(jié)構(gòu)表示為一對大括號包裹著0到多個鍵/值對(或者叫成員)。鍵/值對中鍵是一個字符串,后面是一個冒號,用來分隔鍵和值。值后面是一個逗號用來分隔值和下一個鍵/值對的鍵。一個對象內(nèi)的鍵SHOULD是唯一的。
數(shù)組結(jié)構(gòu)表示為一對中括號包裹著0到多個值(或者叫元素)。值之間用逗號分隔。
數(shù)字的表示和其他大部分語言相似。數(shù)字包含一個以可選的減號為前綴的整數(shù)部分,其后面可以跟有小數(shù)部分和或指數(shù)部分。八進(jìn)制或者十六進(jìn)制的形式是不允許的。以0開頭也是不允許的。小數(shù)部分是一個小數(shù)點(diǎn)后跟隨一位或多位數(shù)字。指數(shù)部分以不限大小寫的字母E開頭,之后可跟一個加號或減號。E和可選的符號后可跟一位或多位數(shù)字。不能被表示為數(shù)字的序列(例如,無窮大和NaN)的數(shù)字值是不允許的。
字符串用引號作為開頭和結(jié)尾。除了以下一些必須被轉(zhuǎn)義的字符以外所有的Unicode字符都可以直接被放在字符串中:引號(”或’),反斜杠()和控制字符(U+0000 到 U+001F)。
編碼JSON文本SHALL使用unicode編碼。默認(rèn)的編碼方式為UTF-8。
由于JSON文本的頭兩個字符一定是ASCII字符[RFC0020],因此可以通過觀察第一組4個8位字節(jié)來判斷字節(jié)流是UTF-8,UTF-16(BE或LE)還是UTF-32(BE或LE)編碼的。
JSON解析器可以將JSON文本轉(zhuǎn)換為其他表示方法。JSON解釋器MUST能接受符合JSON語法的所有文本。JSON解析器MAY能接受非JSON形式的文本。
生成器JSON生成器能夠生成JSON文本。其生成結(jié)果MUST嚴(yán)格符合JSON的語法。
IANA(互聯(lián)網(wǎng)數(shù)字分配機(jī)構(gòu))方面的考慮JSON文本的MIME媒體類型是application/json。JSON可以用UTF-8,UTF-16和UTF-32編碼表示。如果使用UTF-8,則JSON是8位字節(jié)兼容的。如果是UTF-16或UTF-32,則必須使用二進(jìn)制內(nèi)容傳輸編碼。
通常,腳本語言都有安全問題,JSON作為JavaScript的一個子集,但由于它排除了分配和調(diào)用,所以它是安全的。
JSON發(fā)布規(guī)范:RFC 4627
Json示例{ "Image": { "Width": 800, "Height": 600, "Title": "View from 15th Floor", "Thumbnail": { "Url": "http://www.example.com/image/481989943", "Height": 125, "Width": "100" }, "tags": [ "小清新", "動物" ] } }參考規(guī)范
[ECMA] European Computer Manufacturers Association, “ECMAScript
Language Specification 3rd Edition”, December 1999,
[RFC0020] Cerf, V., “ASCII format for network interchange”, RFC 20,
October 1969.
[RFC2119] Bradner, S., “Key words for use in RFCs to Indicate
Requirement Levels”, BCP 14, RFC 2119, March 1997.
[RFC4234] Crocker, D. and P. Overell, “Augmented BNF for Syntax
Specifications: ABNF”, RFC 4234, October 2005.
原文參考:Json格式定義
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/64574.html
摘要:該篇主要以代碼示例為主,因為上不去,看不到這個官方文檔和。因為接下來的底層默認(rèn)使用的就是。和功能是一致的。區(qū)別是不會拋出異常,而會拋出異常。而解析輸入的文本內(nèi)容依據(jù)默認(rèn)的解析文本的模式。 Json-smart 該篇主要以代碼示例為主,因為google上不去,看不到Json-smart這個官方文檔和API。故只例舉一些代碼示例。因為接下來的Json-path底層默認(rèn)使用的就是JsonSm...
pygame作為python的一個平臺庫,在做游戲的時候,需要學(xué)習(xí)的內(nèi)容還是比較的多的,主要涉及到的內(nèi)容有相關(guān)的學(xué)習(xí)筆記,包括怎么設(shè)置字體,另外還有就是怎么設(shè)置其顯示中文呢?下面就給大家詳細(xì)解答下。 一、獲得可用字體 importpygame print(pygame.font.get_fonts()) 結(jié)果: ['arial','arialblack...
游戲界面,國外的一些游戲,還是以英文為主,那么,國內(nèi)的游戲,大多覆蓋的是中文字體。那么,我們怎么樣將英文字體修改成為中文,并且能夠正確的顯示出來呢?下面就給大家詳細(xì)解答下?! ∫?、獲得可用字體 importpygame print(pygame.font.get_fonts()) 結(jié)果: ['arial','arialblack','bahns...
入坑 Python自從進(jìn)入公司,到現(xiàn)在也有半年的時間。這半年的時間從 python 到入門到開發(fā)了幾個小項目,類型涵蓋了web應(yīng)用 程序、爬蟲程序 (scrapy),python腳本工具,自動化工具。對 python 語言也越來越熟悉,當(dāng)然也有所感悟和總結(jié)。首先 Python 真的讓語言成 了一個工具,入門代價很小,上手能夠開發(fā)出小工具,可以更快體驗到編程的樂趣。但是做到pythonic需要更多的...
以下是一些適合個人使用的AI訓(xùn)練云算力平臺的推薦:Compshare:更適合國內(nèi)用戶使用的,高性價比云算力平臺,低至1元/小時起。高性能AI算力資源,提供T4/V100S/2080Ti/3090/P40等多種配置GPU,預(yù)裝TensorFlow、Pytorch、CUDA等算法框架,開機(jī)即用。Amazon EC2:亞馬遜的彈性計算云服務(wù)提供了各種實(shí)例類型,包括GPU實(shí)例,適用于深度學(xué)習(xí)和機(jī)器學(xué)習(xí)任務(wù)...
閱讀 2615·2023-04-25 15:07
閱讀 719·2021-11-24 10:21
閱讀 2322·2021-09-22 10:02
閱讀 3530·2019-08-30 15:43
閱讀 3242·2019-08-30 13:03
閱讀 2302·2019-08-29 17:18
閱讀 3599·2019-08-29 17:07
閱讀 1889·2019-08-29 12:27