#jq コマンドで #JSON の ネストされた配列の中のオブジェクトの中の配列からちょっと複雑な検索をする ( select filter )
- Github Issue API で得られるようなリストを想定
- JSON全体が配列である
- 配列内の各要素の labels 配列が複数のオブジェクトを持っている
- オブジェクトの name が特定の value を持っている要素だけを select したい
- 元の配列、オブジェクト構造を崩さずに復元したい
JSON input ( eg.json )
[
{
"labels": [
{
"name": "feature"
}
]
},
{
"labels": [
{
"name": "bug"
},
{
"name": "important"
}
]
},
{
"labels": [
{
"name": "fix"
},
{
"name": "important"
}
]
}
]
filter pattern 1
$ cat tmp/eg.json | jq '[.[] | select(.labels[] | .name == "fix")]'
[
{
"labels": [
{
"name": "fix"
},
{
"name": "important"
}
]
}
]
filter pattern 2
$ cat tmp/eg.json | jq '[.[] | select(.labels[] | .name == "important")]'
[
{
"labels": [
{
"name": "bug"
},
{
"name": "important"
}
]
},
{
"labels": [
{
"name": "fix"
},
{
"name": "important"
}
]
}
]
Original by Github issue
[
{
"labels": [
{
"name": "feature"
}
]
},
{
"labels": [
{
"name": "bug"
},
{
"name": "important"
}
]
},
{
"labels": [
{
"name": "fix"
},
{
"name": "important"
}
]
}
]
$ cat tmp/eg.json | jq '[.[] | select(.labels[] | .name == "fix")]'
[
{
"labels": [
{
"name": "fix"
},
{
"name": "important"
}
]
}
]
filter pattern 2
$ cat tmp/eg.json | jq '[.[] | select(.labels[] | .name == "important")]'
[
{
"labels": [
{
"name": "bug"
},
{
"name": "important"
}
]
},
{
"labels": [
{
"name": "fix"
},
{
"name": "important"
}
]
}
]
Original by Github issue
$ cat tmp/eg.json | jq '[.[] | select(.labels[] | .name == "important")]'
[
{
"labels": [
{
"name": "bug"
},
{
"name": "important"
}
]
},
{
"labels": [
{
"name": "fix"
},
{
"name": "important"
}
]
}
]
Author And Source
この問題について(#jq コマンドで #JSON の ネストされた配列の中のオブジェクトの中の配列からちょっと複雑な検索をする ( select filter )), 我々は、より多くの情報をここで見つけました https://qiita.com/YumaInaura/items/fdcd483827175546dd7f著者帰属:元の著者の情報は、元の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 .