Jeśli (jak ja) uważają, że opcja pretty_generate
wbudowane JSON biblioteki Ruby nie jest „dość” na tyle, polecam moje własne NeatJSON
gem dla formatowania.
Aby użyć go, należy użyć JSON.neat_generate
zamiast JSON.pretty_generate
.
Podobnie jak Ruby's pp
, zachowa obiekty i tablice na jednej linii, kiedy się zmieści, 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 również różnorodne formatting options dodatkowo dostosować swoją produkcję. Na przykład ile spacji przed/po dwukropkach? Przed/po przecinkach? W nawiasach tablic i przedmiotów? Czy chcesz posortować klucze swojego obiektu? Czy chcesz, aby wszystkie dwukropki były ustawione w jednej linii?
Na przykład, przy użyciu przykładowego Hash, można uzyskać te różne wyjścia, w zależności od tego, co chcesz:
// JSON.neat_generate(o, wrap:true)
{
"a":"1",
"b":"2",
"c":"3",
"asefw":"dfsef"
}
// JSON.neat_generate o, wrap:true, aligned:true
{
"a" :"1",
"b" :"2",
"c" :"3",
"asefw":"dfsef"
}
// JSON.neat_generate o, wrap:true, aligned:true, around_colon:1
{
"a" : "1",
"b" : "2",
"c" : "3",
"asefw" : "dfsef"
}
mieć ciąg znaków lub czy to obiekt Hash? – Dogbert
Sprawiasz, że domyślamy się, czego chcesz, co nie jest sprawiedliwe. Nie możemy zgadywać, ponieważ zawiesili nasze umiejętności czytania umysłu. Czy możemy kupić wskazówkę? –
Wygląda na to, że i tak zgadłeś :) Odpowiedz loterii. – Casper