ruby JSON.parse在带有点但没有分数的十进制数上失败

时间:2017-06-14 11:48:36

标签: json ruby parsing decimal point

我有一个像这样的json字符串:

{"weight": 56.}

我可以将此字符串输入NodeJS解释器并获得解析后的哈希值:

$ js
> {"Weight":56.}
{ Weight: 56 }
> {"Weight":56}
{ Weight: 56 }

如您所见,NodeJS接受具有相同结果的两个输入

但是在Ruby中,我获得了相同的字符串

  

JSON :: ParserError:...意外的令牌

直到我删除'。'在数字之后

示例会话:

irb...> s='{"Weight":56.}'
=> "{\"Weight\":56.}"
irb...> JSON.parse(s)
JSON::ParserError: 784: unexpected token at '{"Weight":56.}'

...

irb...> s='{"Weight":56}'
=> "{\"Weight\":56}"
irb...> JSON.parse(s)
=> {"Weight"=>56}

可以对Ruby JSON库做些什么来提高它与JS的一致性吗?

现在,在将它们解析为JSON

之前,我必须通过正则表达式过滤这些杂散的dec.points

0 个答案:

没有答案