Module: JSON::TruffleRuby::Generator::GeneratorMethods::String
- Defined in:
- lib/json/truffle_ruby/generator.rb
Instance Method Summary collapse
-
#to_json(state = nil, *args) ⇒ Object
This string should be encoded with UTF-8 A call to this method returns a JSON string encoded with UTF16 big endian characters as u????.
Instance Method Details
#to_json(state = nil, *args) ⇒ Object
This string should be encoded with UTF-8 A call to this method returns a JSON string encoded with UTF16 big endian characters as u????.
675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 |
# File 'lib/json/truffle_ruby/generator.rb', line 675 def to_json(state = nil, *args) state = State.from_state(state) if encoding == ::Encoding::UTF_8 unless valid_encoding? raise GeneratorError.new("source sequence is illegal/malformed utf-8", self) end string = self else string = encode(::Encoding::UTF_8) end if state.ascii_only? %("#{JSON::TruffleRuby::Generator.utf8_to_json_ascii(string, state.script_safe)}") else %("#{JSON::TruffleRuby::Generator.utf8_to_json(string, state.script_safe)}") end rescue Encoding::UndefinedConversionError => error raise ::JSON::GeneratorError.new(error., self) end |