【发布时间】:2016-11-02 11:14:42
【问题描述】:
我喜欢使用jq过滤json文件:
jq . some.json
给定包含对象数组的 json:
{
"theList": [
{
"id": 1,
"name": "Horst"
},
{
"id": 2,
"name": "Fritz"
},
{
"id": 3,
"name": "Walter"
},
{
"id": 4,
"name": "Gerhart"
},
{
"id": 5,
"name": "Harmut"
}
]
}
我想过滤该列表以仅显示 id 值为 2 和 4 的元素,因此预期输出为:
{
"id": 2,
"name": "Fritz"
},
{
"id": 4,
"name": "Gerhart"
}
如何使用 jq 过滤 json?我玩过选择和地图,但没有任何一个可以工作,例如:
$ jq '.theList[] | select(.id == 2) or select(.id == 4)' array.json
true
【问题讨论】:
-
请大家注意:问题是关于jq,而不是jQuery。
-
@T.J.Crowder YMMD ^^ 我在问题中澄清了:D