好的,我们知道是否有人说他/她想通过网络发送整数说使用C, 我们通常会说:
如果有人想发送浮动信息,我们可能会提供额外的建议......
考虑到上述可能存在的问题,有人可能会说:JSON。 我的问题是JSON如何处理/击败上述问题? 只是将这些数据类型转换为字符串?
答案 0 :(得分:0)
使用JSON时,所有数据都将转换为字符串。由库(或库)处理序列化/反序列化来生成/解释值
答案 1 :(得分:0)
需要将JSON
数据转换为字符串。
答案 2 :(得分:0)
JSON只有以下类型:
string
number
object
array
true
false
null
整数是number
。
{"int": 1}
您提到的问题超出了JSON的范围。它们必须由编程语言和库创建和读取JSON来处理。
修改强>
如http://json.org/所述,可以使用以下格式撰写number
:
number
int
int frac
int exp
int frac exp
int
digit
digit1-9 digits
- digit
- digit1-9 digits
frac
. digits
exp
e digits
digits
digit
digit digits
e
e
e+
e-
E
E+
E-
这个表单是一个高于endianess的抽象级别,因为这是一个位和字节的问题。这个表单 允许通常的数字类型,如整数和浮点数。
答案 3 :(得分:0)
与手写协议相比,JSON的优点:
JSON是一种标准。 JSON文档是人类可读的。 JSON文档记录了它们的内容。 可以升级JSON文档格式。 JSON文档是结构化的。 JSON文档很灵活。 可以通过JSON模式检查JSON文档。
你需要一些很好的理由来使用专有的二进制格式。
答案 4 :(得分:0)
正如其他人所说,JSON是纯文本协议,因此字节顺序或数据类型大小不会直接影响。
但是,文本可以编码为许多不同的编码,其中一些编码可能会出现字节序问题(如UTF-16)。虽然对于任何新的东西你都应该使用UTF-8,因为它被广泛使用并且没有那些特定的字节序问题。
然而,编码是你必须要了解的。二元/文本之间没有简单的正确选择,只有不同的问题和权衡。