更新時間:2022年09月14日16時12分 來源:傳智教育 瀏覽次數(shù):
二維數(shù)據(jù)是一維數(shù)據(jù)的集合,以此類推,三維數(shù)據(jù)可以是二維數(shù)據(jù)的集合,但按照此種層層嵌套的方式組織數(shù)據(jù),多維數(shù)據(jù)的表示會非常復(fù)雜。為了直觀地表示多維數(shù)據(jù),也為了便于組織和操作,三維及以上的多維數(shù)據(jù)統(tǒng)一采用鍵值對的形式進行格式化。
網(wǎng)絡(luò)平臺上傳遞的數(shù)據(jù)大多是高維數(shù)據(jù),JSON是網(wǎng)絡(luò)中常見的高維數(shù)據(jù)格式,它是一種輕量級的數(shù)據(jù)交換格式,其本質(zhì)是一種被格式化了的字符串,既易于人類閱讀和編寫,也易于機器解析和生成。JSON語法是JavaScript語法的子集,JavaScript語言中一切都是對象,因此JSON也以對象的形式表示數(shù)據(jù)。
JSON格式的數(shù)據(jù)遵循以下語法規(guī)則。
(1)數(shù)據(jù)存儲在鍵值對(key:value)中,例如“姓名”:”張華“。
(2)數(shù)據(jù)的字段由逗號分隔,例如“姓名“:”張華",”語文":“116”。
(3)一個花括號保存一個JSON對象,例如“”姓名”:“張華”,”語文”:"116”}。
(4)一個方括號保存一個數(shù)組,例如[[”姓名”:”張華",”語文”:“116”]。
假設(shè)目前有存儲了高三二班考試成績的JSON數(shù)據(jù),具體如下所示:
“高三二班考試成績":[ {"姓名":“陳誠" "語文":"124" "數(shù)學(xué)":"127" "英語":"145" "理綜":"259”}; {"姓名":"黃思", "語文":"116" "數(shù)學(xué)":"143” "英語":"119", "理綜":“273"}; ...... ]
以上數(shù)據(jù)首先是一個鍵值對,key為“高三二班考試成績”,value與key通過冒號“:”分隔;其次value本身是一個數(shù)組,該數(shù)組中存儲了多名學(xué)生的成績,通過方括號組織,其中的元素通過分號“;”分隔;作為數(shù)組元素的學(xué)生成績的每項屬性亦為鍵值對,每項屬性通過逗號“,”分隔。
除JSON外,網(wǎng)絡(luò)平臺也會使用XML、HTML等格式組織多維數(shù)據(jù)。XML和HTML格式通過標簽組織數(shù)據(jù)。例如將學(xué)生成績以XML格式存儲,具體格式如下:
<高三二班考試成績> <姓名>陳誠</姓名><語文>124</語文><數(shù)學(xué)>127<數(shù)學(xué)/><英語>145<英語/> <理綜>259<理綜/> <姓名>黃思</姓名><語文>116</語文><數(shù)學(xué)>143<數(shù)學(xué)/><英語>119<英語/> <理綜>273<理綜/> ...... </高三二班考試成績>
對比JSON格式與XML、HTML格式可知,JSON格式更為直觀,且數(shù)據(jù)屬性的key只需存儲一次,在網(wǎng)絡(luò)中進行數(shù)據(jù)交換時耗費的流量更小。