Nếu bạn thấy rằng pretty_generate
tùy chọn được tích hợp trong thư viện JSON của Ruby không đủ "đẹp", tôi khuyên bạn nên sử dụng đá quý NeatJSON của riêng tôi cho định dạng của bạn.
Để dùng nó:
gem install neatjson
và sau đó sử dụng
JSON.neat_generate
thay vì
JSON.pretty_generate
Giống như Ruby, pp
nó sẽ giữ các đối tượng và mảng trên một dòng khi chúng khớp, nhưng bọc thành nhiều khi cần thiết. Ví dụ:
{
"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?"}
]
}
Nó cũng hỗ trợ nhiều tùy chọn định dạng để tùy chỉnh thêm đầu ra của bạn. Ví dụ, có bao nhiêu khoảng trắng trước / sau dấu hai chấm? Trước / sau dấu phẩy? Bên trong dấu ngoặc của mảng và đối tượng? Bạn có muốn sắp xếp các khóa của đối tượng của bạn? Bạn có muốn tất cả các dấu hai chấm được xếp hàng?