在JSON中返回空值的首选方法是什么?原语是否有不同的偏好?
例如,如果服务器上的对象有一个名为"myCount"且没有值的Integer,那么该值的最正确的JSON将是:
{}
Run Code Online (Sandbox Code Playgroud)
要么
{
"myCount": null
}
Run Code Online (Sandbox Code Playgroud)
要么
{
"myCount": 0
}
Run Code Online (Sandbox Code Playgroud)
字符串的相同问题 - 如果我在服务器上有一个空字符串"myString",则是最好的JSON:
{}
Run Code Online (Sandbox Code Playgroud)
要么
{
"myString": null
}
Run Code Online (Sandbox Code Playgroud)
要么
{
"myString": ""
}
Run Code Online (Sandbox Code Playgroud)
或者(上帝帮助我)
{
"myString": "null"
}
Run Code Online (Sandbox Code Playgroud)
我喜欢集合的约定在JSON中表示为空集合http://jtechies.blogspot.nl/2012/07/item-43-return-empty-arrays-or.html
将显示一个空数组:
{
"myArray": []
}
Run Code Online (Sandbox Code Playgroud)
编辑摘要
"个人偏好"的观点似乎是现实的,但很短暂,因为社区将消耗更多不同的服务/来源.JSON结构的约定将有助于规范化所述服务的消耗和重用.就建立标准而言,我建议采用大多数杰克逊公约,但有一些例外:
如果要返回一个主要为空值的JSON对象,则可能有一个候选者可以重构为多个服务.
{
"value1": null,
"value2": null,
"text1": null,
"text2": "hello",
"intValue": 0, //use primitive only if you are absolutely sure the answer is 0
"myList": [],
"myEmptyList": null, //NOT BEST PRACTICE - return [] instead …Run Code Online (Sandbox Code Playgroud)