Wednesday, February 08, 2012

RubyでJSONのprettyprint

RubyでJSONをインデントして出力するには、JSON.pretty_generateを使う。

require 'json'
my_json = { :array => [1, 2, 3, { :sample => "hash"} ], :foo => "bar" }
puts JSON.pretty_generate(my_json)
結果は:
{
  "array": [
    1,
    2,
    3,
    {
      "sample": "hash"
    }
  ],
  "foo": "bar"
}
参考:How can I “Pretty” format my JSON output in Ruby on Rails?

ちなみに、コマンドラインからのときはpythonを使った以下のワンライナーが使える。

$ echo '{"foo": "lorem", "bar": "ipsum"}' | python -mjson.tool
参考:How to pretty-print JSON script?

No comments: