Class: BigDecimal
Relationships & Source Files | |
Inherits: | Object |
Defined in: | activesupport/lib/active_support/core_ext/object/json.rb |
Instance Method Summary
-
#as_json(options = nil)
Internal use only
A BigDecimal would be naturally represented as a JSON number.
Instance Method Details
#as_json(options = nil)
This method is for internal use only.
A BigDecimal would be naturally represented as a JSON number. Most libraries, however, parse non-integer JSON numbers directly as floats. Clients using those libraries would get in general a wrong number and no way to recover other than manually inspecting the string with the JSON code itself.
That’s why a JSON string is returned. The JSON literal is not numeric, but if the other end knows by contract that the data is supposed to be a BigDecimal
, it still has the chance to post-process the string and get the real value.
# File 'activesupport/lib/active_support/core_ext/object/json.rb', line 134
def as_json( = nil) # :nodoc: finite? ? to_s : nil end