私は自分自身をコーナーに書いたと思います。基本的に、私はハッシュの配列を持っています。gsubを使用して、ハッシュの配列内の "="を ":"に置き換えます。
my_hashes = [{"colorName"=>"first", "hexValue"=>"#f00"}, {"colorName"=>"green", "hexValue"=>"#0f0"},
{"colorName"=>"blue", "hexValue"=>"#00f"}, {"colorName"=>"cyan", "hexValue"=>"#0ff"},
{"colorName"=>"magenta", "hexValue"=>"#f0f"}, {"colorName"=>"yellow", "hexValue"=>"#ff0"},
{"colorName"=>"black", "hexValue"=>"#000"}]
私は最終的にはCSV形式にこれらのハッシュを変換することができるようにJSON.parseを使用する必要があります。唯一の問題は、「=>」記号が存在する限り、JSON.parseを動作させることができないことです。私はちょうど通常のgsub( '=>'、 ':')をやってみましたが、これはハッシュの配列なので使用できません。
my_hashes.each do |hash|
hash.each do |key, value|
key.gsub!('=>', ':')
value.gsub!('=>', ':')
end
end
が、私はそのまま滞在するには、これらのハッシュ値を必要とするので、私は彼らにイントロの文字列を変換する場合でも、私はそれらをバック変換ならば、彼らはまだ「=>」必要があります:私は次の方法のバリエーションを試してみました利用可能なシンボル。何かアドバイス?
だけでJSON文字列にそれを変換するために、 'my_hashes.to_json'を使用。最初に 'json'''を必要とするかもしれません。 –
ハッシュをJSONに変換してからCSVに変換するのはなぜですか?なぜ標準ライブラリの['csv'を使ってCSVに直接行かないのですか?](http://ruby-doc.org/stdlib-2.3.1/libdoc/csv/rdoc/index.html) –
これは[XY問題](http://meta.stackexchange.com/questions/66377/what-is-the-xy-problem)です。ハッシュを変換する代わりに、何をしようとしているのかを記述し、それを実現するためのよりよい方法を見てみる必要があります。 –