Jeśli okaże się, że pretty_generate
opcja wbudowana w bibliotekę JSON Ruby nie jest wystarczająco „ładna”, polecam własny klejnot NeatJSON do formatowania.
Aby go użyć:
gem install neatjson
a następnie użyj
JSON.neat_generate
zamiast
JSON.pretty_generate
Podobnie jak Ruby, pp
utrzyma obiekty i tablice w jednej linii, gdy się zmieszczą, ale w razie potrzeby zawinie do wielu. Na przykład:
{
"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?"}
]
}
Obsługuje także różne opcje formatowania, aby dodatkowo dostosować wyniki. Na przykład, ile spacji przed / po dwukropkach? Przed / po przecinkach? W nawiasach tablic i obiektów? Czy chcesz posortować klucze swojego obiektu? Czy chcesz, aby wszystkie dwukropki były ustawione w jednej linii?