Si encuentra que la pretty_generate
opción integrada en la biblioteca JSON de Ruby no es lo suficientemente "bonita", le recomiendo mi propia joya NeatJSON para su formateo.
Para usarlo:
gem install neatjson
y luego usar
JSON.neat_generate
en vez de
JSON.pretty_generate
Al igual que Ruby, pp
mantendrá los objetos y las matrices en una línea cuando quepan, pero se ajustará a múltiples según sea necesario. Por ejemplo:
{
"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?"}
]
}
También es compatible con una variedad de opciones de formato para personalizar aún más su salida. Por ejemplo, ¿cuántos espacios antes y después de los dos puntos? ¿Antes / después de las comas? ¿Dentro de los corchetes de matrices y objetos? ¿Quieres ordenar las claves de tu objeto? ¿Quieres que los dos puntos estén alineados?