У меня есть следующие данные в формате JSON:Группа JSON по данным?
{
"events":
{
"event":
[
{
"city":"Birmingham",
"state":"AL",
"country":"US",
"lat":"33.5206608",
"lng":"-86.80249",
"status":"Delivered",
"occured_at":"2012-04-06
14:17:00 UTC"
},
{
"city":"Birmingham",
"state":"AL",
"country":"US",
"lat":"33.5206608",
"lng":"-86.80249",
"status":"Out
For Delivery",
"occured_at":"2012-04-06 04:44:00 UTC"
},
{
"city":"Birmingham",
"state":"AL",
"country":"US",
"lat":"33.5206608",
"lng":"-86.80249",
"status":"Arrival
Scan",
"occured_at":"2012-04-05 19:07:00 UTC"
},
{
"city":"Doraville",
"state":"GA",
"country":"US",
"lat":"33.8981579",
"lng":"-84.2832564",
"status":"Departure
Scan",
"occured_at":"2012-04-05 17:08:00 UTC"
},
{
"city":"Doraville",
"state":"GA",
"country":"US",
"lat":"33.8981579",
"lng":"-84.2832564",
"status":"Arrival
Scan",
"occured_at":"2012-04-05 11:15:00 UTC"
},
{
"city":"Spartanburg",
"state":"SC",
"country":"US",
"lat":"34.9495672",
"lng":"-81.9320482",
"status":"Departure
Scan",
"occured_at":"2012-04-05 08:42:00 UTC"
},
{
"city":"Spartanburg",
"state":"SC",
"country":"US",
"lat":"34.9495672",
"lng":"-81.9320482",
"status":"Arrival
Scan",
"occured_at":"2012-04-05 08:21:00 UTC"
},
{
"city":"Greensboro",
"state":"NC",
"country":"US",
"lat":"36.0726354",
"lng":"-79.7919754",
"status":"Departure
Scan",
"occured_at":"2012-04-05 04:45:00 UTC"
},
{
"city":"Greensboro",
"state":"NC",
"country":"US",
"lat":"36.0726354",
"lng":"-79.7919754",
"status":"Origin
Scan",
"occured_at":"2012-04-05 00:11:00 UTC"
},
{
"city":null,
"state":null,
"country":"US",
"status":"Billing
Information Received",
"occured_at":"2012-04-04 18:20:27 UTC"
}
]
}
}
Что мне нужно сделать, это сгруппировать данные по комбинации города, штата и страны, но по-прежнему возвращать данные из каждого пункта.
Так, например, группа от «Бирмингем, штат Аризона, США», но все же сможет выполнять итерацию по каждому событию (например, «Поставка, выход за доставку», «Прибытие») по номеру status
.
Тот факт, что это JSON, действительно не имеет значения, не так ли? Вы можете преобразовать его в хэш-код Ruby с помощью 'JSON.parse', а затем просто работать с ним (и, если хотите, вернуть его в JSON). – Phrogz