Якщо ви виявите, що pretty_generate
опція, вбудована в бібліотеку JSON Ruby, недостатньо "досить", я рекомендую свій власний дорогоцінний камінь NeatJSON для форматування.
Щоб використовувати його:
gem install neatjson
а потім використовувати
JSON.neat_generate
замість
JSON.pretty_generate
Як і Ruby's, pp
вона буде зберігати об'єкти та масиви на одній лінії, коли вони підходять, але перетворювати на кілька, якщо потрібно. Наприклад:
{
"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?"}
]
}
Він також підтримує різноманітні параметри форматування для подальшого налаштування результатів. Наприклад, скільки пробілів перед / після колонок? До / після коми? Всередині дужок масивів та об’єктів? Ви хочете сортувати ключі від вашого об'єкта? Ви хочете, щоб колони всі вишикувалися?