pretty_generate
RubyのJSONライブラリに組み込まれているオプションが「かなり」不十分であることがわかった場合は、自分のNeatJSON gemをフォーマットに使用することをお勧めします。
それを使用するには:
gem install neatjson
次に使用します
JSON.neat_generate
の代わりに
JSON.pretty_generate
Rubyと同様にpp
、オブジェクトと配列が収まると1行に収まりますが、必要に応じて複数に折り返されます。例えば:
{
"navigation.createroute.poi":[
{"text":"Lay in a course to the Hilton","params":{"poi":"Hilton"}},
{"text":"Take me to the airport","params":{"poi":"airport"}},
{"text":"Let's go to IHOP","params":{"poi":"IHOP"}},
{"text":"Show me how to get to The Med","params":{"poi":"The Med"}},
{"text":"Create a route to Arby's","params":{"poi":"Arby's"}},
{
"text":"Go to the Hilton by the Airport",
"params":{"poi":"Hilton","location":"Airport"}
},
{
"text":"Take me to the Fry's in Fresno",
"params":{"poi":"Fry's","location":"Fresno"}
}
],
"navigation.eta":[
{"text":"When will we get there?"},
{"text":"When will I arrive?"},
{"text":"What time will I get to the destination?"},
{"text":"What time will I reach the destination?"},
{"text":"What time will it be when I arrive?"}
]
}
また、出力をさらにカスタマイズするためのさまざまなフォーマットオプションもサポートしています。たとえば、コロンの前後にいくつのスペースがありますか?コンマの前/後?配列とオブジェクトの括弧の中に?オブジェクトのキーを並べ替えますか?コロンをすべて揃えますか?