名稱/值對
在最簡單的形式中,“名稱/值對”可以由JSON表示如下:
{“名字“:“布雷特“}
這個示例非常簡單,實際上比等效的純文本“名稱/值對”占用更多空間:
名字=布雷特
然而,當多個“名稱/值對”串在壹起時,JSON將顯示其價值。首先,您可以創建包含多個“名稱/值對”的記錄,例如:
{“名字“:“布雷特“,“姓氏“:“麥克勞林“,“電子郵件“:“AAAA“}
從語法上講,這並不比“名稱/值對”好多少,但在這種情況下,JSON更容易使用,可讀性更好。例如,它清楚地表明以上三個值都是同壹記錄的壹部分;大括號以某種方式將這些值聯系起來。
表示數組
當需要表示壹組值時,JSON不僅可以提高可讀性,還可以降低復雜性。例如,假設您想要表示壹個姓名列表。在XML中,需要許多開始標記和結束標記;如果使用典型的名稱/值對(如本系列前面的文章中所見),則必須建立壹種專有的數據格式,或者將鍵名稱更改為person1-firstName的形式。
如果使用JSON,只需要用花括號將多個記錄分組:
{
“人”:【
{“名字“:“布雷特“,“姓氏“:“麥克勞林“,“電子郵件“:“AAAA“},
{“名字“:“Jason“,“姓氏“:“Hunter“,“email“:“bbbb“},
{“名字“:“Elliotte“,“姓氏“:“Harold“,“電子郵件“:“cccc“}
]
}
不難理解。在本例中,只有壹個名為people的變量,其值是壹個包含三個條目的數組,每個條目都是壹個人的記錄,包括名字、姓氏和電子郵件地址。上面的示例演示了如何用括號將記錄組合成壹個值。當然,您可以使用相同的語法來表示多個值(每個值包含多條記錄):
{
“程序員”:【{
“名字”:“布雷特”,
“姓氏”:“麥克勞克林”,
“電子郵件”:“aaaa”
}, {
“名字”:“傑森”,
“姓氏”:“獵人”,
“電子郵件”:“bbbb”
}, {
“名字”:“Elliotte”,
“姓氏”:“哈羅德”,
“電子郵件”:“cccc”
}],
“作者“:【{
“名字”:“艾薩克”,
“姓氏”:“阿西莫夫”,
“類型”:“科學小說”
}, {
“名字”:“Tad”,
“姓氏”:“威廉姆斯”,
“類型”:“幻想”
}, {
“名字”:“弗蘭克”,
“姓氏”:“佩雷蒂”,
“類型”:“基督教”
}],
“音樂家”:【{
“名字”:“埃裏克”,
“姓氏”:“克拉普頓”,
“樂器”:“吉他”
}, {
“名字”:“謝爾蓋”,
“姓氏”:“拉赫瑪尼諾夫”,
“樂器”:“鋼琴”
}]
}
這裏最值得註意的是它可以表示多個值,而每個值又包含多個值。但是,還應該註意,記錄中的實際名稱/值對在不同的主要項目(程序員、作者和音樂家)之間可能不同。JSON是完全動態的,允許您在JSON結構的中間更改表示數據的方式。
當處理JSON格式的數據時,沒有預定義的約束可循。因此,在同壹數據結構中,表示數據的方式可以改變,甚至同壹事物可以用不同的方式表示。