可以/应该在带有引号的json中传递布尔值吗?

时间:2018-08-20 18:05:36

标签: json boolean

我已经阅读了一些有关此问题,但仍不清楚。哪个是正确的:

{"some_parameter": "true"}

{"some_parameter": true}

我认为第二种是通过json发送布尔值的正确的正确方法吗?但是第一个仍然是有效的json ...

这里的上下文是我正在构建一个API(由某些第三方应用程序使用),并且想知道完全禁止第一种类型(拒绝错误)还是接受布尔数据作为这样的字符串是否合理? ,然后尝试处理(转换)它们?

1 个答案:

答案 0 :(得分:3)

简短答案,是的,这是发送JSON的正确方法。除了引号外,您不应在字符串中放置其他任何内容。

好答案

这取决于数据类型。对于密钥,是的,您必须使用引号,但只能用于字符串。另外,如果要在单引号中放置引号,则可以使用单引号。 (或使用转义符)

' 
例如,

"

对于bool值,如果希望将其直接转换为bool,则不需要包含引号。整数和双精度值相同。

但是,如果您想将其作为字符串传递,则需要将其放在引号内。

通常,当您讨论哪种类型的系统将接受您的数据时,会询问这些类型的问题。

通常在任何地方使用字符串都容易得多,但是它效率极低,如果收件人希望对int进行算术运算,则收件人需要将其强制转换,但它会作为字符串传递。