Gor*_*oro 0 javascript php json
我在PHP和JavaScript之间传递了大量数据.我在php中使用JSON和json_encode,但这里的问题是我传递了很多以字符串形式存储的数字 - 例如,数字如1.2345.
有没有办法直接将数据作为数字(浮点数,整数)传递,而不必将其转换为ASCII然后返回?
谢谢,
不.HTTP是字节流协议(*); 任何下来的东西都必须打包成字节.如果你愿意,你当然可以使用更紧凑的二进制表示值,但是你的PHP编码和JS解码会更加困难.
无论如何,对于小数字的常见情况,文本表示往往非常有效.您的示例1.2345实际上是一个字符串(6个字节)比双精度浮点(8个字节)更小.
JSON的发明正是为了允许通过HTTP连接传输非字符串类型.它就像你将要获得的一样无缝.是否有任何理由担心PHP float和JavaScript 之间存在序列化 - >字符串 - >解析步骤Number?
(*作为字符协议暴露于JavaScript,因为JS没有字节数据类型.通过设置JSON响应的字符集,iso-8859-1可以使它像纯字节一样工作,但默认utf-8通常更合适.)