要素 - ruby json 配列




正しい形式でJSONファイルに書き込む方法 (3)

私は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"}

この作業をUbuntu Linuxで行うには:

  1. 私はUbuntuパッケージruby-jsonをインストールしました:

    apt-get install ruby-json
    
  2. 私は${HOME}/rubybin/jsonDEMOスクリプトを書きました

  3. $HOME/.bashrc含まれています:

    ${HOME}/rubybin:${PATH}
    

(この機会に、私はbashコマンドラインで上記をタイプしました。)

コマンドラインで入力したときにうまくいきました。

jsonDemo

書式設定

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

出力

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






file