-
简单提取:
假设你有一个 JSON 文件data.json
,其内容如下:{ "name": "Alice", "age": 30, "city": "New York" }
要提取
"name"
的值,可以使用:jq '.name' data.json
-
嵌套提取:
对于嵌套的 JSON 数据,例如:{ "person": { "name": "Alice", "age": 30 } }
你可以使用点表示法提取嵌套的值:
jq '.person.name' data.json
-
过滤数组:
假设你有一个包含对象数组的 JSON 文件:[ {"name": "Alice", "age": 30}, {"name": "Bob", "age": 25}, {"name": "Charlie", "age": 35} ]
要过滤出年龄大于 30 的人,可以使用:
jq '.[] | select(.age > 30)' data.json
-
搜索特定值:
如果你想查找特定的值,例如查找名字是 "Bob" 的人:jq '.[] | select(.name == "Bob")' data.json
-
复杂查询:
使用逻辑运算符进行更复杂的查询。例如,查找年龄在 25 到 35 之间的人:jq '.[] | select(.age >= 25 and .age <= 35)' data.json
-
输出格式化:
jq
默认会格式化输出,如果你只想要原始的 JSON 字符串,可以使用-c
选项:jq -c '.[] | select(.age > 30)' data.json
通过这些基本命令,你可以在 JSON 数据中进行有效的搜索和过滤。jq
还有更多高级功能和选项,可以根据需要查阅其文档进行深入学习。