Actions
Bug #12955
closedBigDecimal::INFINITY and BigDecimal::NAN to_json and as_json should error out similar to Float::INFINITY and Float::NAN
Description
Currently, Float::INFINITY
and Float::NAN
error out when we try to convert them into JSON representation using as_json
or to_json
based on the following code from /ruby/ext/json/generator.c
if (!allow_nan) {
if (isinf(value)) {
fbuffer_free(buffer);
rb_raise(eGeneratorError, "%u: %"PRIsVALUE" not allowed in JSON", __LINE__, RB_OBJ_STRING(tmp));
} else if (isnan(value)) {
fbuffer_free(buffer);
rb_raise(eGeneratorError, "%u: %"PRIsVALUE" not allowed in JSON", __LINE__, RB_OBJ_STRING(tmp));
}
}
Should same treatment be applied to BigDecimal::INFINITY
and BigDecimal::NAN
?
Here is the RFC link which says that
Numeric values that cannot be represented as sequences of digits such as Infinity and NaN) are not permitted
Actions
Like0
Like0