有一个JSON,其中包含具有长部部分部分的数字:
json = <<-JSON
{
"number": 12.12345678910111213141516
}
JSON
,但是当使JSON.parse
数字被截断时:
require 'json'
JSON.parse(json)
#=> {"number"=>12.123456789101112}
,但对我来说,拥有整数非常重要。
有什么方法可以保存分数部分并防止解析JSON时截断?
一个人可能会使用任何更复杂的解析器,例如 Oj
:
main ▶ Oj.load '{"number": 12.12345678910111213141516123456789123456789}'
#⇒{
# "number" => 12.12345678910111213141516123456789123456789
# }
main ▶ Oj.load('{"number": 12.12345678910111213141516}')["number"].class
#⇒ BigDecimal < Numeric