У меня есть JSON из API вида:
{
"result":[
{ "sys_created_on":"2018-10-10",
"number":"NUM54321",
"short_description":"This is a short description.",
"other":"this is other stuff"
},{
"sys_created_on":"2018-10-12",
"number":"NUM12345",
"short_description":"This is another short description.",
"other":"more extra stuff"
},{
... and so on for 1000's of lines
В Ruby я хотел бы создать структуру, имеющую форму
{"sys_created_on(1)" => "number(1) + " | " + short_description(1)",
"sys_created_on(2)" => "number(2) + " | " + short_description(2)",
"sys_created_on(3)" => "number(3) + " | " + short_description(3)",
etc...
}
в частности, используя данные примера:
{"2018-10-10" => "NUM54321 | This is a short description.",
"2018-10-12" => "NUM12345 | This is another short description.",
etc...
}
То есть ... использовать значение ключа из JSON в качестве ключа для хэша ruby, значения которого состоят из двух объединенных значений из одного и того жеJSON.
Я решил эту проблему, используя следующий код:
my_list = result.each_with_object({}) do |item, hash|
hash[item['sys_created_on']] = item['number'] + " | " + item['short_description']
end
Это дало мне то, что мне было нужно, так, как мне было нужно.