假设 data.json 的内容如下:
{ "users": [ {"name": "Alice", "age": 30}, {"name": "Bob", "age": 25}, {"name": "Charlie", "age": 35} ]}
提取第一个用户的姓名:
jq '.users[0].name' data.json
提取所有用户的姓名:
jq '.users[].name' data.json
构建新的 JSON 工具,从数组中提取特定字段并构建新的工具
jq '{usernames: [.users[].name]}' data.json
过程和结果如图:
繁芜的过滤和查询,假设 data.json 的内容如下:
{ "users": [ {"name": "Alice", "age": 30, "city": "Beijing"}, {"name": "Bob", "age": 25, "city": "Shanghai"}, {"name": "Charlie", "age": 35, "city": "Shenzhen"} ]}
过滤年事大于 30 的用户:
jq '.users[] | select(.age > 30)' data.json
提取城市名为 "Shenzhen" 的用户的姓名:
jq '.users[] | select(.city == "Shenzhen") | .name' data.json
输出结果如图:
四、总结
jq 是一个功能强大且灵巧的工具,适用于各种场景下的 JSON 数据处理。通过它,你可以轻松地解析、修正、过滤和天生 JSON 数据,极大地简化了处理繁芜 JSON 构造的任务。
