你需要了解的JSON知識(shí)
Json是什么窟哺?
- JSON是一種數(shù)據(jù)交換模式,它被許都多的系統(tǒng)用于數(shù)據(jù)之間的交換。
- JSON獨(dú)立于編程語言注盈,雖然的JSON(JavaScript Object Notation)的英文感覺是和JavaScript是息息相關(guān)的,但是你用自己的編程語言是完全沒有問題的叙赚。而且你并不需要先學(xué)習(xí)JavaScript老客。
- JSON擁有很好的可移植性。
Json的基本語法
-
名稱-值對(duì)
如果是有編程基礎(chǔ)的人會(huì)對(duì)這個(gè)很了解的纠俭,鍵值對(duì)的形式非常的多(例如:大家非常熟悉的java語言沿量,最典型的就是java的map)。
非常簡(jiǎn)單的例子冤荆,例如:{ "name": "M", "age": 18 }
簡(jiǎn)單的name朴则,age就是名稱,值就是M钓简,18乌妒。這就是一個(gè)簡(jiǎn)單的json,有些需要注意的下面給大家慢慢講外邓。
- json的正確語法
上面的實(shí)例中可以看出撤蚊,名稱是必須要有雙引號(hào),如果你了解的話损话,就可以看出如果沒有上引號(hào)就和JavaScript相同了侦啸。下面就是整個(gè)json中的一些符號(hào)的作用:- { : 開始讀對(duì)象
- } : 結(jié)束讀對(duì)象
- [ : 開始讀數(shù)組
- ] : 結(jié)束讀數(shù)組
- : :名稱和值的分離
- , :新的一部分的開始
使用中其實(shí)并沒有對(duì)鍵值中的命名有過多的要求槽唾,當(dāng)然可以包括空格等一些特殊字符,由于我們需要發(fā)揮它的可移植性一般情況下我們是命名是不會(huì)加一些特殊的字符和空格的光涂。
Json的數(shù)據(jù)類型
- 對(duì)象
- 下面就是一個(gè)很簡(jiǎn)單的例子庞萍,最高一級(jí)的名稱是person,它對(duì)應(yīng)的是有兩個(gè)數(shù)據(jù)的對(duì)象值忘闻。
{ "person": { "name": "M", "age": 18 }, "persion": { "name": "Q", "age": 20 }
}
```
-
字符串
- 字符串是其實(shí)上面的每個(gè)例子都是有提到的钝计,那就是name這個(gè)屬性,所以就不在這進(jìn)行寫例子了齐佳,字符串需要注意到的是在寫的時(shí)候你可能會(huì)有些些特殊的字符私恬,一般來說是不建議寫的但是也是有辦法可以寫的那就是加入轉(zhuǎn)譯符。
\/ 正斜線 \b 退格符 \f 換頁符 \t 制表符 \n 換行符 \r 回車符 \u 后面跟16進(jìn)制的字符
-
數(shù)字
- 整型
- 浮點(diǎn)型
{ "a": 12, "b": 12.5, "c": -12 }
-
布爾值
- false
- true
-
null
- null代表的沒有值不要和JavaScript的undefined混淆炼吴,并且null必須是小寫的,記得不要用上引號(hào)本鸣,不然那就是普通的字符串了
-
數(shù)組
索引是在0開始的。
-
數(shù)值中可以存放不同的數(shù)據(jù)類型
{ "names": [ "Bob", "Allen", "Hello" ], "ages": [ 12, 23, 34 ], "other": [ "name", 2, null
]
}
```
結(jié)束語
Json的簡(jiǎn)單的簡(jiǎn)紹今天就到這里硅蹦,以有時(shí)間會(huì)給在寫寫JSON Schema永高,Json的校驗(yàn)機(jī)制掏导,他會(huì)對(duì)數(shù)據(jù)的輸入和參數(shù)類型進(jìn)行一個(gè)校驗(yàn)激挪。