module JSON::TruffleRuby::Generator::GeneratorMethods::String

def to_json(state = nil, *args)

\u????.
returns a JSON string encoded with UTF16 big endian characters as
This string should be encoded with UTF-8 A call to this method
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.message, self)
end