問題:JSON的格式型別到底有哪些呢?

小婉愛程式設計發表於2020-12-03

問題:JSON的格式型別到底有哪些呢?

JSON是目前最流行的一種資料交換格式,對於它我們有必要非常熟悉它的各方面知識,這次我們來看看它的格式型別有哪些。

資料交換格式方式

  • 基本型別
  • 陣列型別
  • 物件巢狀

案例實操

基本型別

{“鍵” : 值, “鍵” : “值”,…},以大括號開始,鍵的名稱加上冒號,然後跟上對應的的值,若有其他鍵值對則以逗號進行分割。

{
    "name": "張三",
    "age": 18,
    "sex": true
}

陣列型別

[{“鍵” : 值, “鍵” : “值”},{“鍵” : 值, “鍵” : “值”},…],以中括號開始,其間的資料通過逗號進行分割。

[
    {
        "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
        }
    ]
}

更多細節以及要注意的格式還可以直接在JSON官網檢視。

擴充套件~XML

XML也是一種資料交換格式,它不是指一門語言,而是指跨語言的資料格式,目前JSON正慢慢取代它的地位,但在各個地方我們還是能經常見到,所以瞭解它也是我們的必修之課,我們也來看看它的語法格式規則。

所有 XML 元素都須有關閉標籤

在 HTML,經常會看到沒有關閉標籤的元素:

<p>This is a paragraph
<p>This is another paragraph

在 XML 中,省略關閉標籤是非法的。所有元素都必須有關閉標籤:

<p>This is a paragraph</p>
<p>This is another paragraph</p>  

**註釋:**您也許已經注意到 XML 宣告沒有關閉標籤。這不是錯誤。宣告不屬於XML本身的組成部分。它不是 XML 元素,也不需要關閉標籤。

XML 標籤對大小寫敏感

XML 元素使用 XML 標籤進行定義。

XML 標籤對大小寫敏感。在 XML 中,標籤 與標籤 是不同的。

必須使用相同的大小寫來編寫開啟標籤和關閉標籤:

<Message>這是錯誤的。</message>

<message>這是正確的。</message> 

**註釋:**開啟標籤和關閉標籤通常被稱為開始標籤和結束標籤。不論您喜歡哪種術語,它們的概念都是相同的。

XML 必須正確地巢狀

在 HTML 中,常會看到沒有正確巢狀的元素:

<b><i>This text is bold and italic</b></i>

在 XML 中,所有元素都必須彼此正確地巢狀:

<b><i>This text is bold and italic</i></b>

在上例中,正確巢狀的意思是:由於 元素是在 元素內開啟的,那麼它必須在 元素內關閉。

XML 文件必須有根元素

XML 文件必須有一個元素是所有其他元素的父元素。該元素稱為根元素

<root>
  <child>
    <subchild>.....</subchild>
  </child>
</root>

XML 的屬性值須加引號

與 HTML 類似,XML 也可擁有屬性(名稱/值的對)。

在 XML 中,XML 的屬性值須加引號。請研究下面的兩個 XML 文件。第一個是錯誤的,第二個是正確的:

<note date=08/08/2008>
	<to>George</to>
	<from>John</from>
</note> 
<note date="08/08/2008">
	<to>George</to>
	<from>John</from>
</note> 

在第一個文件中的錯誤是,note 元素中的 date 屬性沒有加引號。

相關文章