1. ホーム
  2. ruby

[解決済み] JSONファイルへの正しい書式での書き込み方法

2022-07-13 14:34:18

質問

Rubyでハッシュを作成し、それをJSONファイルに正しい形式で書き出したいのですが、どうすればよいでしょうか。

以下は私のコードです。

tempHash = {
    "key_a" => "val_a",
    "key_b" => "val_b"
}
fJson = File.open("public/temp.json","w")
fJson.write(tempHash)
fJson.close

そして、出来上がったファイルの中身は以下の通りです。

key_aval_akey_bval_b

Sinatra (バージョンはわかりません) と Ruby v 1.8.7 を使用しています。

これを正しいJSON形式でファイルに書き込むにはどうしたらよいでしょうか。

どのように解決するのですか?

必要なのは JSON ライブラリが必要で to_json .

require 'json'
tempHash = {
    "key_a" => "val_a",
    "key_b" => "val_b"
}
File.open("public/temp.json","w") do |f|
  f.write(tempHash.to_json)
end

temp.jsonファイルは、次のようになりました。

{"key_a":"val_a","key_b":"val_b"}