問題:JSON的格式類型到底有哪些呢忘蟹?
JSON是目前最流行的一種數(shù)據(jù)交換格式,對于它我們有必要非常熟悉它的各方面知識搁凸,這次我們來看看它的格式類型有哪些媚值。
數(shù)據(jù)交換格式方式
基本類型
數(shù)組類型
對象嵌套
案例實操
基本類型
{"鍵" : 值, "鍵" : "值",...},以大括號開始护糖,鍵的名稱加上冒號褥芒,然后跟上對應的的值,若有其他鍵值對則以逗號進行分割嫡良。
{
"name":"張三",
"age":18,
"sex":true
}
數(shù)組類型
[{"鍵" : 值, "鍵" : "值"},{"鍵" : 值, "鍵" : "值"},...]锰扶,以中括號開始,其間的數(shù)據(jù)通過逗號進行分割寝受。
[
?? {
"name":"張三",
"age":18,
"sex":true
?? },
?? {
"name":"李四",
"age":19,
"sex":false
?? }
]
對象嵌套
由上面兩種類型坷牛,因為值的不固定性,可以演變出各種各樣的嵌套類型很澄。
{
"name":"teacher",
"computer": {
"CPU":"intel7,
"disk":"512G"
? ? },
? ? "students": [
? ? ?? {
"name":"張三",
"age":18,
"sex":true
? ? ?? },
? ? ?? {
"name":"李四",
"age":19,
"sex":false
? ? ?? }
?? ]
}
更多細節(jié)以及要注意的格式還可以直接在JSON官網(wǎng)查看京闰。
擴展~XML
XML也是一種數(shù)據(jù)交換格式,它不是指一門語言甩苛,而是指跨語言的數(shù)據(jù)格式蹂楣,目前JSON正慢慢取代它的地位,但在各個地方我們還是能經(jīng)常見到讯蒲,所以了解它也是我們的必修之課痊土,我們也來看看它的語法格式規(guī)則。
所有 XML 元素都須有關(guān)閉標簽
在 HTML墨林,經(jīng)常會看到?jīng)]有關(guān)閉標簽的元素:
<p>This is a paragraph
<p>This is another paragraph
在 XML 中赁酝,省略關(guān)閉標簽是非法的。所有元素都必須有關(guān)閉標簽:
<p>This is a paragraph</p>
<p>This is another paragraph</p>
注釋:您也許已經(jīng)注意到 XML 聲明沒有關(guān)閉標簽旭等。這不是錯誤赞哗。聲明不屬于XML本身的組成部分。它不是 XML 元素辆雾,也不需要關(guān)閉標簽。
XML 標簽對大小寫敏感
XML 元素使用 XML 標簽進行定義月劈。
XML 標簽對大小寫敏感度迂。在 XML 中藤乙,標簽 <Letter> 與標簽 <letter> 是不同的。
必須使用相同的大小寫來編寫打開標簽和關(guān)閉標簽:
<Message>這是錯誤的惭墓。</message>
?
<message>這是正確的坛梁。</message>
注釋:打開標簽和關(guān)閉標簽通常被稱為開始標簽和結(jié)束標簽。不論您喜歡哪種術(shù)語腊凶,它們的概念都是相同的划咐。
XML 必須正確地嵌套
在 HTML 中,常會看到?jīng)]有正確嵌套的元素:
<b><i>This text is bold and italic</b></i>
在 XML 中钧萍,所有元素都必須彼此正確地嵌套:
<b><i>This text is bold and italic</i></b>
在上例中褐缠,正確嵌套的意思是:由于 <i> 元素是在 <b> 元素內(nèi)打開的,那么它必須在 <b> 元素內(nèi)關(guān)閉风瘦。
XML 文檔必須有根元素
XML 文檔必須有一個元素是所有其他元素的父元素队魏。該元素稱為根元素。
<root>
<child>
<subchild>.....</subchild>
</child>
</root>
XML 的屬性值須加引號
與 HTML 類似万搔,XML 也可擁有屬性(名稱/值的對)胡桨。
在 XML 中,XML 的屬性值須加引號瞬雹。請研究下面的兩個 XML 文檔昧谊。第一個是錯誤的,第二個是正確的:
<notedate=08/08/2008>
? ? <to>George</to>
? ? <from>John</from>
</note>
<notedate="08/08/2008">
? ? <to>George</to>
? ? <from>John</from>
</note>
在第一個文檔中的錯誤是酗捌,note 元素中的 date 屬性沒有加引號呢诬。