我正在为 Rails 控制器调用返回 JSON。在控制器中,我需要从包含 NaN 对象的 Ruby 哈希生成 JSON。返回 JSON 时浏览器显示错误:
{
"value": NaN
}
错误:第 1 行的解析错误:“值”:NaN
我做了一些快速研究,似乎 NaN 不是有效的 JSON 对象,因此应该用引号括起来 - “NaN”。Rails JSON 解析器不符合标准 JSON 格式并将 NaN 对象包装在引号中,这似乎很愚蠢。
我试图将散列展平为字符串并将其转换回散列。但是我一直在遇到解析错误。
我该如何解决这个问题?
编辑:
为了简单的问题,哈希看起来像这样:
{ "value" => Float::NAN }
编辑2:
我需要将上面的哈希转换为以下 json:
{
"value": "NaN"
}