2012-07-31 82 views
1

我在服务器端对象模型中有一个字段,它是一个布尔值。我正在写一个自定义json转换器,我想知道如何最好地为json编码。我应该把它作为布尔值还是应该将true转换为1false0描述布尔型的json

这样做的最好方法是什么?

谢谢。

+1

你为什么要编写一个定制的JSON转换器? – rybosome 2012-07-31 17:49:13

+0

由于某些属性不意味着对客户可见。 – frenchie 2012-07-31 17:49:57

+0

我不明白为什么你想要描述一个布尔值而不是布尔值,除非你使用的语言不支持该类型。 – 2012-07-31 17:51:04

回答

1

我更喜欢在我的JSON中使用true/false关键字,但1/0仍然可以工作。你的问题是关于如何编写代码来创建这个JSON对象?这取决于你如何实现转换器。你到目前为止有什么?

1

没有定义最好的方法。这取决于你(谁使用这个)。

Persobally我认为,如果您代表布尔值,请使用True/False,而不是1/0。这更可读(对于将要维护此代码的未来开发者/几个月后查看此代码)。

+0

要增加这一点,使用'True/False'可能会使您的代码在未来更加健壮。无论您现在使用哪种语言来解释JSON(可能是JavaScript),都会将1视为真,0视为假,但如果您以后将此JSON作为API的一部分公开,那该怎么办?有人可能会接触到你的服务,解析JSON并创建一个Int/Number /无论强类型的真值对象为0,那么必须以不合逻辑的方式解决这个限制。即使没有计划要做到这一点,通常有利于尽可能减少你想要的和你想要的之间的语义差距。 – rybosome 2012-07-31 17:53:01

1

我推荐使用truefalse,因为它更清楚地表明这些值是布尔值。

2

根据RFC(§2.1),布尔值是truefalse