Ruby-1.9.2-p0 > require 'json'
=> true
Ruby-1.9.2-p0 > hash = {hi: "sup", yo: "hey"}
=> {:hi=>"sup", :yo=>"hey"}
Ruby-1.9.2-p0 > hash.to_json
=> "{\"hi\":\"sup\",\"yo\":\"hey\"}"
Ruby-1.9.2-p0 > j hash
{"hi":"sup","yo":"hey"}
=> nil
j hash
は私が欲しい答えを出しますがnil
を返します。
hash.to_json
は、必要な答えをバックスラッシュで返します。バックスラッシュは必要ありません。
それは単にString#inspect
。バックスラッシュはありません。試してください:
hjs = hash.to_json
puts hjs
あなたは正しい軌道に乗っています。 to_json
をJSON形式に変換します。 IRB出力に騙されないでください。バックスラッシュは含まれていません。
これを試して: puts hash.to_json
と表示されます:{"hi":"sup","yo":"hey"}
テストするRuby1.9はありませんが、「inspect」ビューを取得しているようです。これらのバックスラッシュはありません。引用符をエスケープしています。確認するには、puts hash.to_json
を実行します。