摘要:一直在用,發(fā)現(xiàn)并不了解。并且獨(dú)立于語言,可以在各語言間進(jìn)行數(shù)據(jù)交換。字符是大小敏感的。注意是轉(zhuǎn)義字符,還支持其他轉(zhuǎn)義字符,見參考數(shù)字可以整數(shù),浮點(diǎn)數(shù),科學(xué)計(jì)數(shù)法表示。元素類型最好是同一類型,畢竟大多數(shù)語言不支持元素類型多種類型。
一直在用JSON,發(fā)現(xiàn)并不了解JSON。好吧,花點(diǎn)時(shí)間學(xué)習(xí)下。
一、JSON的概念:什么是JSON?全稱:JavaScript Object Natation(JS對象標(biāo)記法),JSON用字符串的格式表示結(jié)構(gòu)化數(shù)據(jù)。并且獨(dú)立于語言,可以在各語言間進(jìn)行數(shù)據(jù)交換。
二、JSON的語法:JSON是如何通過字符串表示結(jié)構(gòu)數(shù)據(jù)的? 2.1 JSON的類型(6種):JSON有6中數(shù)據(jù)類型示:object, array, number,string,bool(true, false),null(之前一直以為JSON數(shù)據(jù)必須要包在花括號(hào)里,囧)。絕大部分語言都有這6種數(shù)據(jù)類型,這樣JSON就可以跨語言傳遞了(即獨(dú)立于語言)。
// 以下都是合法的JSON "{"a": 1}" // 對象 "[1,2,3,4]" // 數(shù)組 "[1,true,null,{"a":1}]" // 數(shù)組 注意表示不能夸語言,有些語言限制數(shù)組的元素類型一致 "1" // number 1 "true" // bool true "null" // null ""abc"" // 字符串 "abc" // 以下是否非法的JOSN字符串 "undefined"2.2 String
JSON 字符串是Unicode編碼的,用雙引號(hào)表示字符串(有些語言中(如JS)單引號(hào)也能表示字符串,但是畢竟大部分語言不支持這種表示,所以JSON字符串只能是雙引號(hào)表示)。
字符是大小敏感的。
""a c"" // "a c" 注意 是轉(zhuǎn)義字符,JSON還支持其他轉(zhuǎn)義字符,見參考 ""abc"" // "abc"2.3 Number
JSON 數(shù)字可以整數(shù),浮點(diǎn)數(shù),科學(xué)計(jì)數(shù)法表示。
"1" // 1 "0.1" // 0.1 "-1" // -1 "1e+2" // 1* (10 * 10) -> 100 (e大小寫不區(qū)分,即也可以這樣表示"1E+2") "1e-2" // 1* (0.1 * 0.1) -> 0.01
注意:
A:正數(shù)不能帶”+“表示
B:只能表示10進(jìn)制的數(shù)字,其他進(jìn)制不能表示。
對象就是鍵值對集合了,值可以是6中類型的任意一種。
"{"a": 1, "b": true}" // 格式就是"{name1: value1, name2:value2}"2.5 數(shù)組
數(shù)組時(shí)值的集合,值可以是6中類型的任意一種。元素類型最好是同一類型,畢竟大多數(shù)語言不支持元素類型多種類型。
"[1,2]" "[{"a":1}]"三、日期的表示
大部分語言日期都是個(gè)對象,并且不是簡單的Plain Object,導(dǎo)致日期在各語言中JSON表示不完全一樣(JavaScript中JSON.stringify方法通過Date.toString方法把日期轉(zhuǎn)成字符串),所以在有日期的數(shù)據(jù)交換時(shí)要注意。一般處理方法:將日期轉(zhuǎn)成各語言都支持的日期字符串格式(如:"yyyy-MM-dd hh:mm:ss"),還可以將日期通過毫秒數(shù)值表示。
四、JSON SchemaJSON Schema是一種特殊的JSON數(shù)據(jù),它是用來描述JSON數(shù)據(jù)的。
參考JSON.org
ajv
【第1276期】JSON Schema 那些事兒:基本概念
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/83787.html
摘要:什么是對象簡譜是一種輕量級的數(shù)據(jù)交換格式。易于人閱讀和編寫。同時(shí)也易于機(jī)器解析和生成。 什么是Json? Json(JavaScript Object Notation,JS 對象簡譜)是一種輕量級的數(shù)據(jù)交換格式。易于人閱讀和編寫。同時(shí)也易于機(jī)器解析和生成。一些合法的Json實(shí)例:鍵值對:(可以沒有鍵只有值)鍵 ...
摘要:在這里今天老蔣在針對商家新加坡機(jī)房進(jìn)行測評。關(guān)于云服務(wù)器相關(guān)的文章優(yōu)惠碼優(yōu)惠碼整理專題每月更新最新優(yōu)惠活動(dòng)新用戶最高送美元韓國機(jī)房機(jī)房測評韓國首爾機(jī)房綜合速度和線路去程回程測試新人教程新人系列教程新注冊賬戶且用優(yōu)惠碼享受贈(zèng)送余額老蔣在昨天的文章中有提到Vultr商家韓國首爾機(jī)房,雖然離我們距離比較近,但是人家設(shè)立的機(jī)器并非針對我們大陸用戶的,而是除了我們之外的其他亞洲地區(qū)的速度是比較好的,比...
摘要:最近一段時(shí)間,經(jīng)典主機(jī)新增日本大阪軟銀機(jī)房,國內(nèi)的值相當(dāng)不錯(cuò),特別適合聯(lián)通用戶訪問使用。日本經(jīng)典主機(jī)電信線路日本經(jīng)典主機(jī)電信線路這是經(jīng)典的日本大阪軟銀機(jī)房電信回程線路。經(jīng)典瓦工的VPS主機(jī)現(xiàn)在已經(jīng)完全走了高端領(lǐng)域了,CN2 GIA的VPS主機(jī)現(xiàn)在連月付都沒有了,只有季付了,平均下來月付必須是十幾美元才可以,價(jià)格實(shí)在是太貴了。不過,好在經(jīng)典VPS主機(jī)的線路質(zhì)量不錯(cuò),而且機(jī)房的帶寬給得足,用于建...
閱讀 2980·2021-11-16 11:45
閱讀 5124·2021-09-22 10:57
閱讀 1763·2021-09-08 09:36
閱讀 1584·2021-09-02 15:40
閱讀 2508·2021-07-26 23:38
閱讀 1184·2019-08-30 15:55
閱讀 923·2019-08-30 15:54
閱讀 1213·2019-08-29 14:06