【发布时间】:2013-11-21 15:52:19
【问题描述】:
我希望我的 JSON 服务返回一个布尔值。我知道只返回true 或false 是无效的JSON,那么最好的方法是什么?我想到了这些选项:
[true]
或者:
{ "response": true }
我更喜欢后者。有没有这方面的最佳实践?
【问题讨论】:
我希望我的 JSON 服务返回一个布尔值。我知道只返回true 或false 是无效的JSON,那么最好的方法是什么?我想到了这些选项:
[true]
或者:
{ "response": true }
我更喜欢后者。有没有这方面的最佳实践?
【问题讨论】:
true 是一个完全有效的 JSON 值,它并不比 [true] 或 { "response": true } 差。将它包装到一个对象中将是一个好主意(并且对象比数组更好),因为如果有一天您决定向响应中添加更多数据,您将不会破坏所有期望纯布尔值的客户端。
【讨论】:
true是无效的JSON。见tools.ietf.org/html/rfc4627,上面写着A JSON text is a serialized object or array.
value,但它不是有效的 JSON,因为您只传递了值 true。也可以在jsonlint.com进行测试
true 视为有效的 json。