Se scopri che l' pretty_generate
opzione integrata nella libreria JSON di Ruby non è abbastanza "carina", ti consiglio il mio gioiello NeatJSON per la tua formattazione.
Per usarlo:
gem install neatjson
e quindi usare
JSON.neat_generate
invece di
JSON.pretty_generate
Come Ruby, pp
manterrà gli oggetti e le matrici su una linea quando si adattano, ma si avvolge in multipli secondo necessità. Per esempio:
{
"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?"}
]
}
Supporta anche una varietà di opzioni di formattazione per personalizzare ulteriormente l'output. Ad esempio, quanti spazi prima / dopo i due punti? Virgole prima / dopo? All'interno delle parentesi di matrici e oggetti? Vuoi ordinare le chiavi del tuo oggetto? Vuoi che i due punti siano tutti allineati?