JSON值1或0 – int或布尔值
JSON对待这些都一样吗? 或者他们是整数和布尔值的混合?
var data = { "zero" : 0, "one" : 1, "false" : 0, "true" : 1, "0" : false, "1" : true }
JSON是传输数据的格式。
它没有平等的概念。
JSON parsing器将布尔和数字视为不同的types。
值true
和false
是实际的布尔值,其余的是整数。 有关更多信息,请参阅http://json.org/ 。
我宁愿使用0/1而不是true / false,因为0/1只消耗1字节,而真/假消耗4/5字节。
如前所述,在JSON级别,0和false是不一样的; 数据types是数字与布尔值。 但是JSON处理库可以select转换; 特别是在不具有本机布尔types的语言/平台上。 在这种情况下,可以使用另一种表示(空string或0表示false)。
此外,处理库也可能强制types:例如,如果期望布尔值,则可以接受某些数字/string值(或JSON'null'标记)。 由于不同语言的数据typesselect不同,这是相当普遍的。