什麼是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有一些優勢:
– 它允許用戶顯示數據,因為它是一種標記語言
– 它支持更多數據類型。沿著文本,它支持圖形,圖表,圖像等。
– 它支持評論
閱讀本文後,根據您的目的,我確信您知道哪種格式適合您的項目。