created: 2019-07-03T06:30:19.000Z
jq変形 {配列 => IDをキーとするオブジェクト}
こんな配列を
[
{"id": "123", "name": "abc"},
{"id": "456", "name": "qwe"}
]
こうしたい
{
"123": {"id": "123", "name": "abc"},
"456": {"id": "456", "name": "qwe"}
}
add
を使うとできる
$ pbpaste | jq '{ (.id): . } | [ . ] | add'
{
"123": {
"id": "123",
"name": "abc"
},
"456": {
"id": "456",
"name": "qwe"
}
}
add
通常は足し算や文字列結合に使われるが、 オブジェクトの配列に適用すると、それぞれの要素をマージしたオブジェクトができる
[
{ "123": {"id": "123", "name": "abc"} }
{ "456": {"id": "456", "name": "qwe"} }
]
↓ こうなるイメージ
{
"123": {"id": "123", "name": "abc"},
"456": {"id": "456", "name": "qwe"}
}