如何在JSON中处理IEEE-754浮点数?

时间:2017-05-02 03:56:35

标签: json ieee-754

The comments on Tim Bray's post about RFC-7159请注意,您无法在JSON号码中使用NaNInfinity

  

我对JSON的一个主要痛点 - 也是我真心希望的一个   本来可以解决的 - 数字格式不是IEEE 754   兼容。事实上,这篇文章在棺材中明确指出:

     
    

“无法在下面的语法中表示的数值(例如     因为Infinity和NaN不被允许。“

  
     

这意味着我们常常将所有数字数据放入其中   串;或者只是忽视标准并使用“Inf”和“NaN”   在我们的JSON数字字段中。当然,这两者都不是理想的,但事实如此   寿命。

尝试对Chrome上的NaNJSON.stringify(0/0))或InfinityJSON.stringify(1/0))进行JSON编码,即可获得"null",并解析{{1 }当然给了我"null",当与数字一起使用时,它没有nullNaN的属性:

Infinity

我是否有比评论中列出的更好的选项?

  1. 将数字数据作为字符串传递
  2. 忽略标准并使用> null*0 0 > NaN*0 NaN Infinity(这仍然提出了一个问题:我们如何让JSON编码器和解码器接受它?)

0 个答案:

没有答案