หากคุณพบว่าpretty_generate
ตัวเลือกที่มีอยู่ในไลบรารี JSON ของรูบี้ไม่ได้ "สวย" พอฉันแนะนำอัญมณีNeatJSONของฉันเองสำหรับการจัดรูปแบบของคุณ
วิธีใช้:
gem install neatjson
จากนั้นใช้
JSON.neat_generate
แทน
JSON.pretty_generate
เช่นเดียวกับ Ruby 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?"}
]
}
นอกจากนี้ยังสนับสนุนตัวเลือกการจัดรูปแบบที่หลากหลายเพื่อปรับแต่งผลลัพธ์ของคุณเพิ่มเติม ตัวอย่างเช่นมีช่องว่างกี่ช่องก่อน / หลังโคลอน ก่อน / หลังเครื่องหมายจุลภาค? ข้างในวงเล็บของอาร์เรย์และวัตถุ? คุณต้องการเรียงลำดับคีย์ของวัตถุของคุณหรือไม่? คุณต้องการให้ colons เรียงกันหมดไหม?