我喜欢使用jq过滤json文件:
jq . some.json
Run Code Online (Sandbox Code Playgroud)
给定json包含一个对象数组:
{
"theList": [
{
"id": 1,
"name": "Horst"
},
{
"id": 2,
"name": "Fritz"
},
{
"id": 3,
"name": "Walter"
},
{
"id": 4,
"name": "Gerhart"
},
{
"id": 5,
"name": "Harmut"
}
]
}
Run Code Online (Sandbox Code Playgroud)
我想过滤该列表只显示id为2和4的元素,因此预期输出为:
{
"id": 2,
"name": "Fritz"
},
{
"id": 4,
"name": "Gerhart"
}
Run Code Online (Sandbox Code Playgroud)
如何使用jq过滤json?我玩过选择和地图,但没有任何工作,例如:
$ jq '.theList[] | select(.id == 2) or select(.id == 4)' array.json
true
Run Code Online (Sandbox Code Playgroud)