jq命令
0. 命令
jq [option] filter [files]
jq+可选参数+过滤条件+文件位置
过滤参数:
. :格式化json内容
.foo :输出指定属性,使用.嵌套访问字段
.[下标] :输出指定数组元素
.[] :输出指定数组中全部元素
, :多个属性过滤时,使用逗号分隔
| :管道过滤,将指定的数组元素中的某个属性作为过滤条件
注:jq过滤条件都是以.开头
1. 数据增删改
1.1 增
cat lq.txt | jq '. + {d:4}' --在全部元素的基础上增加元素d
cat lq.txt | jq '.data + {d:4}' --在data元素值基础上增加元素d
1.2 删
cat lq.txt | jq 'del(.data.v1)' --删除json中的元素v1
1.3 改
cat lq.txt | jq '.age={dd:5}' --更改age元素的值为{"dd":5}
2. 内置函数
2.1 keys获取json中的所有key
echo '{"a":1,"b":2,"c":3,"d":4}' | jq 'keys' --返回["a","b","c","d"]
2.2 返回元素的长度length
echo '{"a":1,"b":2,"c":3,"d":4}' | jq 'length' --返回元素个数:4
echo '[{"a":1,"c":2}, "string", {"a":2}, null]' | jq '.[] | length' --返回2 6 1 0
3. 管道
cat tmp.json | jq '.[0] | keys'
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具