Techioz Blog

JSON 出力を「きれいな」形式にする方法

概要

Ruby on Rails での JSON 出力を「きれい」または適切にフォーマットしたいと考えています。

現在、to_json を呼び出していますが、JSON はすべて 1 行にあります。 JSON 出力ストリームに問題があるかどうかを確認するのが難しい場合があります。

Rails で JSON を「きれい」に、または適切にフォーマットするように構成する方法はありますか?

解決策

JSON の新しいバージョンに組み込まれている pretty_generate() 関数を使用します。例えば:

require 'json'
my_object = { :array => [1, 2, 3, { :sample => "hash"} ], :foo => "bar" }
puts JSON.pretty_generate(my_object)

これにより、次のことが可能になります。

{
  "array": [
    1,
    2,
    3,
    {
      "sample": "hash"
    }
  ],
  "foo": "bar"
}