module JSON::Generator::GeneratorMethods::String

aliases: JSON::Ext::Generator::GeneratorMethods::String

要約

String に JSON で使用するインスタンスメソッドを追加するためのモジュールです。

目次

インスタンスメソッド

インスタンスメソッド

to_json(state_or_hash = nil) -> String[permalink][rdoc]

自身から生成した JSON 形式の文字列を返します。

自身のエンコードは UTF-8 であるべきです。 "\u????" のように UTF-16 ビッグエンディアンでエンコードされた文字列を返すことがあります。

[PARAM] state_or_hash:
生成する JSON 形式の文字列をカスタマイズするために JSON::State のインスタンスか、 JSON::State.new の引数と同じ Hash を指定します。


require "json"

puts "test".to_json                    # => "test"
puts '"'.to_json                       # => "\""
puts "\\".to_json                      # => "\\"
puts "𤘩宮城".to_json(ascii_only: true) # => "\ud851\ude29\u5bae\u57ce"
to_json_raw -> String[permalink][rdoc]

自身に対して JSON::Generator::GeneratorMethods::String#to_json_raw_object を呼び出して JSON::Generator::GeneratorMethods::Hash#to_json した結果を返します。

[SEE_ALSO] JSON::Generator::GeneratorMethods::String#to_json_raw_object, JSON::Generator::GeneratorMethods::Hash#to_json

to_json_raw_object -> Hash[permalink][rdoc]

生の文字列を格納したハッシュを生成します。

このメソッドは UTF-8 の文字列ではなく生の文字列を JSON に変換する場合に使用してください。

require 'json'
"にほんご".encode("euc-jp").to_json_raw_object
# => {"json_class"=>"String", "raw"=>[164, 203, 164, 219, 164, 243, 164, 180]}
"にほんご".encode("euc-jp").to_json # source sequence is illegal/malformed (JSON::GeneratorError)