W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
屬性值必須是Unicode 的 booleans(布爾), 數(shù)字(numbers), 字符串(strings), 對象(objects), 數(shù)組(arrays), 或 null.
JSON.org上的標準準確的說明了哪些類型的數(shù)據(jù)可以作為屬性值。這包含Unicode的布爾(booleans), 數(shù)字(numbers), 字符串(strings), 對象(objects), 數(shù)組(arrays), 或 null。JavaScript表達式是不被接受的。APIs應(yīng)該支持該準則,并為某個特定的屬性選擇最合適的數(shù)據(jù)類型(比如,用numbers代表numbers等)。
好的例子:
{
"canPigsFly": null, // null
"areWeThereYet": false, // boolean
"answerToLife": 42, // number
"name": "Bart", // string
"moreData": {}, // object
"things": [] // array
}
不好的例子:
{
"aVariableName": aVariableName, // Bad - JavaScript 標識符
"functionFoo": function() { return 1; } // Bad - JavaScript 函數(shù)
}
考慮移除空或null值
如果一個屬性是可選的或者包含空值或_null_值,考慮從JSON中去掉該屬性,除非它的存在有很強的語義原因。
{
"volume": 10,
// 即使 "balance" 屬性值是零, 它也應(yīng)當(dāng)被保留,
// 因為 "0" 表示 "均衡"
// "-1" 表示左傾斜和"+1" 表示右傾斜
"balance": 0,
// "currentlyPlaying" 是null的時候可被移除
// "currentlyPlaying": null
}
枚舉值應(yīng)當(dāng)以字符串的形式呈現(xiàn)
隨著APIs的發(fā)展,枚舉值可能被添加,移除或者改變。將枚舉值當(dāng)作字符串可以使下游用戶幽雅的處理枚舉值的變更。
Java代碼:
public enum Color {
WHITE,
BLACK,
RED,
YELLOW,
BLUE
}
JSON對象:
{
"color": "WHITE"
}
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: