JSON(JavaScript Object Notation)是一種輕量級的數(shù)據(jù)交換格式,常用于前后端數(shù)據(jù)傳輸。EXT JSON是JSON的擴(kuò)展,是Sencha公司在Ext JS中對JSON的進(jìn)一步封裝和擴(kuò)展。EXT JSON支持對象、數(shù)組、日期和正則表達(dá)式,還支持空值。
//EXT JSON中含有空值的例子 { "name": "張三", "age": 18, "gender": null, "address": { "province": "江蘇省", "city": null, "district": "蘇州工業(yè)園區(qū)" } }
上面的例子中,gender和地址的city字段都設(shè)置為了null,表示空值。這在實際應(yīng)用中很常見,比如某個字段還沒有值或者被刪除了。EXT JSON中的空值和其他數(shù)據(jù)類型一樣有其特殊的表示方式。
EXT JSON中空值的表示方式為null,表示一個空的JavaScript值,也可以使用undefined。在JavaScript中,null和undefined有些微妙的差別。null表示一個空值,typeof null返回"object";而undefined表示一個未定義的值,typeof undefined返回"undefined"。在使用EXT JSON時,null和undefined可以互換使用。
當(dāng)從服務(wù)端獲取到包含空值的EXT JSON數(shù)據(jù)時,需要對其進(jìn)行處理。在Java中,可以使用Jackson、Gson等庫進(jìn)行解析處理;在JavaScript中,可以使用JSON.parse()方法進(jìn)行解析處理。解析后的數(shù)據(jù)可以通過判斷數(shù)據(jù)是否為null、使用三目運算符等方式進(jìn)行處理。