#jq コマンドむずい。オブジェクトの配列から、任意のキーを指定してフィルタし、新しいオブジェクトの配列を組み立て直そうとして失敗した例。
- 配列の持つオブジェクト内で
- a というキーを持つ value を
- x というキー に差し替えて
- 再び配列に収める
ということをやりたい
json
[
{
"a": 1,
"b": 2,
"c": 3
},
{
"a": 3,
"b": 4,
"c": 5
}
]
exe
[
{
"a": 1,
"b": 2,
"c": 3
},
{
"a": 3,
"b": 4,
"c": 5
}
]
キーが一つならうまくいく
$ echo '[{"a" : 1, "b" : 2, "c" : 3},{"a" : 3, "b" : 4, "c" : 5}]' | jq '[{"x": .[].a}]'
[
{
"x": 1
},
{
"x": 3
}
]
# exe
キーが複数だとこれだ!
なんだか組み合わせの数だけ増えているような気がするな?
べき乗っぽいぞ!
$ echo '[{"a" : 1, "b" : 2, "c" : 3},{"a" : 3, "b" : 4, "c" : 5}]' | jq '[{"x": .[].a, "y" : .[].a, "z" : .[].a}]' | pbcopy
[
{
"x": 1,
"y": 1,
"z": 1
},
{
"x": 1,
"y": 1,
"z": 3
},
{
"x": 1,
"y": 3,
"z": 1
},
{
"x": 1,
"y": 3,
"z": 3
},
{
"x": 3,
"y": 1,
"z": 1
},
{
"x": 3,
"y": 1,
"z": 3
},
{
"x": 3,
"y": 3,
"z": 1
},
{
"x": 3,
"y": 3,
"z": 3
}
]
exe
$ echo '[{"a" : 1, "b" : 2, "c" : 3},{"a" : 3, "b" : 4, "c" : 5}]' | jq '[{"x": .[].a, "y" : .[].a, "x" : .[].a, "a" : .[].a}]'
[
{
"x": 1,
"y": 1,
"a": 1
},
{
"x": 1,
"y": 1,
"a": 3
},
{
"x": 3,
"y": 1,
"a": 1
},
{
"x": 3,
"y": 1,
"a": 3
},
{
"x": 1,
"y": 3,
"a": 1
},
{
"x": 1,
"y": 3,
"a": 3
},
{
"x": 3,
"y": 3,
"a": 1
},
{
"x": 3,
"y": 3,
"a": 3
},
{
"x": 1,
"y": 1,
"a": 1
},
{
"x": 1,
"y": 1,
"a": 3
},
{
"x": 3,
"y": 1,
"a": 1
},
{
"x": 3,
"y": 1,
"a": 3
},
{
"x": 1,
"y": 3,
"a": 1
},
{
"x": 1,
"y": 3,
"a": 3
},
{
"x": 3,
"y": 3,
"a": 1
},
{
"x": 3,
"y": 3,
"a": 3
}
]
Original by Github issue
$ echo '[{"a" : 1, "b" : 2, "c" : 3},{"a" : 3, "b" : 4, "c" : 5}]' | jq '[{"x": .[].a, "y" : .[].a, "x" : .[].a, "a" : .[].a}]'
[
{
"x": 1,
"y": 1,
"a": 1
},
{
"x": 1,
"y": 1,
"a": 3
},
{
"x": 3,
"y": 1,
"a": 1
},
{
"x": 3,
"y": 1,
"a": 3
},
{
"x": 1,
"y": 3,
"a": 1
},
{
"x": 1,
"y": 3,
"a": 3
},
{
"x": 3,
"y": 3,
"a": 1
},
{
"x": 3,
"y": 3,
"a": 3
},
{
"x": 1,
"y": 1,
"a": 1
},
{
"x": 1,
"y": 1,
"a": 3
},
{
"x": 3,
"y": 1,
"a": 1
},
{
"x": 3,
"y": 1,
"a": 3
},
{
"x": 1,
"y": 3,
"a": 1
},
{
"x": 1,
"y": 3,
"a": 3
},
{
"x": 3,
"y": 3,
"a": 1
},
{
"x": 3,
"y": 3,
"a": 3
}
]
Author And Source
この問題について(#jq コマンドむずい。オブジェクトの配列から、任意のキーを指定してフィルタし、新しいオブジェクトの配列を組み立て直そうとして失敗した例。), 我々は、より多くの情報をここで見つけました https://qiita.com/YumaInaura/items/f9bc8cf50ec671f1f259著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .