JSON:字符串值0是否应该在引号中?

时间:2013-10-17 19:43:48

标签: json

我需要从我的服务器向最终用户返回一些JSON字符串,其中有一个字段被记录为字符串,但字段的值始终是一个数字,所以我必须始终将其返回为:

{"attr": "99"}

或者这也是有效的:

{"attr": 99}

客户抱怨我应该在引用中加入99,因为它被记录为字符串,并且它们的解析器会将数字99解析为产生问题的数字类型。

由于

3 个答案:

答案 0 :(得分:2)

tl; dr由于“..记录为字符串”,然后使用字符串

JST中

字符串(例如“99”)和数字(例如99)为two different kinds of values

有些消费者可以在反序列化时自动转换字符串和数字,而其他消费者则不能 - 在这种情况下,它似乎“不能”或“不会”。由于指定了外部API,因此应该遵守。至少如果它不起作用,那不是你的代码破坏; - )

答案 1 :(得分:0)

如果您保证它始终是一个数字,并且您希望将其视为数字,则取消引用它。如果可能获得非数字值,或者您希望将其视为字符串,请将其保留为引号。

答案 2 :(得分:0)

应该引用它。客户端需要字符串值,这是明确记录的,所以没有任何意义可以抵消。