JSON簡介

什麼是JSON?

 

JSON是JavaScript Object Notation的縮寫,它表示用於在實體之間存儲和共享數據的標準化語法,派生自JavaScript編程語言(不要與Java編程語言混淆)。

JSON之所以受歡迎,是因為它易於人類閱讀和編輯,並且易於被機器使用。另一個優點是JSON它不受JavaScript語言的約束,它可以被廣泛的編程語言使用,最著名的是Java,PHP,Python和Ruby。

JSON實體既可以作為獨立文件存在,通常具有.json擴展名,也可以作為JSON字元串包含在引號內的另一個文件中。它也可以分配給變數。

與XML相比,JSON提供了更好的可讀性,減少了格式化的麻煩,佔用空間更小,從而減少了傳輸的位元組數。

 

結構體

 

結構非常簡單:

「名字」:價值

名稱必須始終為字元串。示例:「年齡」,「出生日期」,「出生日期」,「第二地址」。

值可以是不同的類型,布爾值,數字,字元串,數組,對象或null。例:

 

{

「用戶」:「艾瑪」,

「連接」:「安全」,

「proxy_options」:[「SOCKS5」,「SSL」,「HTTP」,「FTP」],

「vpn」:false,

「userID」:215

}

說明:

 

{

「user」:「Emma」,< – 這是一個字元串

「連接」:「安全」,< – 這也是一個字元串

「proxy_options」:[「SOCKS5」,「SSL」,「HTTP」,「FTP」],< – 這是一個字元串列表

「vpn」:false,< – 這是一個布爾值

「userID」:215 < – 這是一個數字

}

 

為了使用JSON,您必須了解一些基本規則,其他一切都會很自然。

– JSON對象必須用大括弧括起來,即使它是嵌套的(我稍後會解釋嵌套意味著什麼){}

– 名稱必須在引號之間   「」

– 名稱和值必須用冒號分隔

– 值:

– 字元串必須在引號之間   「」

– 布爾和數字沒有標點符號

– 列表必須在方括弧[]之間

– 在’name:value’對之間必須有一個逗號

 

JSON不關心其元素之間的空白,因此您可以通過多種方式格式化代碼:

 

{

「用戶」:「艾瑪」,

「連接」:「安全」,

「proxy_options」:[「SOCKS5」,「SSL」,「HTTP」,「FTP」],

「vpn」:false,

「userID」:215

}

 

是相同的

 

{「user」:「Emma」,「connection」:「secured」,「proxy_options」:[「SOCKS5」,「SSL」,「HTTP」,FTP「],」vpn「:false,」userID「:215}

 

或者作為

 

{「user」:「Emma」,「connection」:「secure」,

「proxy_options」:[「SOCKS5」,「SSL」,「HTTP」,FTP「],」vpn「:false,

「userID」:215}

 

為了使人類組件更舒適,您將看到大多數JSON實體在第一個示例中編寫,每個元素在一行上。

 

嵌套元素

 

到目前為止,這麼好,沒有什麼比這更複雜,但為了實現複雜的實用程序,我們可以將元素組合得更多。

嵌套對象

當我們可以在同一個JSON中存儲多個用戶時,為每個用戶創建一個JSON是沒有意義的。在下面的示例中,對於每個用戶,存在一個嵌套對象,以不同顏色突出顯示:

{

「艾瑪」:{

「連接」:「安全」,

「proxy_options」:[「SOCKS5」,「SSL」,「HTTP」,「FTP」],

「vpn」:false,

「userID」:215

}

「約翰」:{

「連接」:「安全」,

「proxy_options」:[「SOCKS5」,「SSL」,「FTP」],

「vpn」:是的,

「userID」:216

}

「莎拉」:{

「連接」:「安全」,

「proxy_options」:[「SOCKS5」,「SSL」,「HTTP」],

「vpn」:是的,

「userID」:217

}

「邁克爾」:{

「連接」:「安全」,

「proxy_options」:[「SOCKS5」,「SSL」,「HTTP」,「FTP」],

「vpn」:false,

「userID」:218

}

}

 

注意每個花括弧後元素之間的逗號。這是一個語法規則。

對於更複雜的用法,JSON支持嵌套數組。數組可以包含多種數據類型。這裡使用了兩個嵌套數組並突出顯示:

 

{

「用戶」:「艾瑪」,

「連接」:「安全」,

「proxy_options」:[「SOCKS5」,「SSL」,「HTTP」,「FTP」],

「vpn」:false,

「userID」:215,

「服務」 : [

{

「serviceID」:「P1388」,

「購買」:「03-08-2018」,

「活躍」:是的

}

{

「serviceID」:「P1903」,

「購買」:「05-09-2018」,

「活躍」:是的

}

]

}

 

JSON vs XML

 

雖然仍在使用XML格式,但JSON現在是數據編組的首選。在越來越多基於在線的人類操作和交互中,JSON獲得成功是正常的。首先,JSON比XML更有效,我在這篇文章中提到了一些原因。其次,所有現代瀏覽器都提供內置的JSON支持。

簡短的例子:

JSON

{「客戶」:

[

{「name」:「Tim」,「email」:「 [email protected] 」},

{「name」:「Drew」,「email」:「 [email protected] 」},

{「name」:「Carla」,「email」:「 [email protected] 」}

]

}

 

XML

<客戶>

<客戶>

<名稱>添</名稱>

<email> [email protected] </ email>

</客戶端>

<客戶>

<名稱>德魯</名稱>

<email> [email protected] </ email>

</客戶端>

<客戶>

<名稱>卡拉</名稱>

<email> [email protected] </ email>

</客戶端>

</客戶>

 

讓我們總結一下JSON廣泛使用XML的其他原因:

– 它更易於閱讀和書寫

– 它更容易學習

– 它支持數組

– 它將相同的數據存儲在更少的磁碟空間中,同時使用更少的網路帶寬

XML也比JSON有一些優勢:

– 它允許用戶顯示數據,因為它是一種標記語言

– 它支持更多數據類型。沿著文本,它支持圖形,圖表,圖像等。

– 它支持評論

 

閱讀本文後,根據您的目的,我確信您知道哪種格式適合您的項目。