Ruby 3.3 リファレンスマニュアル

module JSON::Generator::GeneratorMethods::String

[edit]

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

要約

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

目次

インスタンスメソッド

インスタンスメソッド

to_json(state_or_hash = nil) -> StringRuby 1.9.3 から[permalink][rdoc][edit]

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

自身のエンコードは UTF-8 であるべきです。

state_or_hash で JSON::State#ascii_only? を真に指定するなどして ASCII 以外の文字がエスケープされる場合、そのコードポイントを 16 進数 4 桁で表した "\uXXXX" という形式になります。基本多言語面(BMP)外の文字は、UTF-16 のサロゲートペアとして "\uXXXX\uXXXX" のように \u エスケープを 2 つ連ねて表されます。返り値の String のエンコーディングは常に UTF-8 です。

[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 -> StringRuby 1.9.3 から[permalink][rdoc][edit]

自身に対して 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 -> HashRuby 1.9.3 から[permalink][rdoc][edit]

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

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

require 'json'
p "にほんご".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)