属性值指南
属性值格式
属性值必须是布尔值、数字、Unicode 字符串、对象、数组或 null。
JSON.org 的规范准确指定了属性值中允许的数据类型。这包括布尔值、数字、Unicode 字符串、对象、数组和 null。不允许使用 JavaScript 表达式。API 应该支持所有值的规范,并应为特定属性选择最合适的数据类型(用数字表示数字等)。
正确:
{
"canPigsFly": null, // null
"areWeThereYet": false, // boolean(布尔值)
"answerToLife": 42, // number(数字)
"name": "Bart", // string(字符串)
"moreData": {}, // object(对象)
"things": [] // array(数组)
}错误:
// 反面示例
{
"aVariableName": aVariableName, // 错误 - JavaScript 标识符
"functionFoo": function() { return 1; } // 错误 - JavaScript 函数
}空值/Null 属性值
考虑移除空值或 null 值。
如果属性是可选的或者具有空值或 null 值,请考虑从 JSON 中删除该属性,除非有强烈的语义原因要求其存在。
{
"volume": 10,
// 尽管 "balance" 属性的值为零,但应保留,
// 因为 "0" 表示"均衡"(值可以是 "-1" 表示
// 左声道偏重,"+1" 表示右声道偏重)。
"balance": 0,
// "currentlyPlaying" 属性可以省略,因为它是 null。
// "currentlyPlaying": null
}枚举值
枚举值应表示为字符串。
随着 API 的发展,枚举值可能会被添加、删除或更改。使用字符串作为枚举值可确保下游客户端能够优雅地处理枚举值的变化。 Java 代码:
public enum Color {
WHITE,
BLACK,
RED,
YELLOW,
BLUE
}JSON 对象:
{
"color": "WHITE"
}Last updated on