linux下解析json格式的jq工具
2023-03-14 22:53:52 时间
- linux下解析json格式的jq工具
- 第一章 jq入门
- 1、linux下jq工具的安装
- vim中使用jq工具
- 第二章 linux下jq工具的基本使用
- 1、检查json文件的格式的合法性
- 2、显示json文件的所有内容
- 3、通过Key获取Value的值
- 4、嵌套解析
- 5、内建函数
- 6、jq使用的参考链接
- 第一章 jq入门
linux下解析json格式的jq工具
jq工具会把json文件更有好的读取出来,此外,jq工具还在背后检查json文件的合法性,如果文件存在格式上的错误,jq也会报出错误存在的位置
第一章 jq入门
1、linux下jq工具的安装
sudo apt-get install jq -y
vim中使用jq工具
- 注意提前备份json文件,因为该操作会直接修改文件
- 在vim的最后一行模式下使用
:%!jq '.'
第二章 linux下jq工具的基本使用
1、检查json文件的格式的合法性
如果该json文件存在格式错误,会报出错误存在的位置,如:
"url"
parse error: Expected string key before ':' at line 1, column 6
2、显示json文件的所有内容
cat json | jq .
3、通过Key获取Value的值
cat json | jq '.name'
解析不存在的元素key时,会返回null.
4、嵌套解析
案例1
cat json_area.txt | jq '.location.state'
"Beijin"
案例2
$ cat jsondemo
[
{
"sha": "7b81a836c31500e685d043729259affa8b670a87",
"commit": {
"author": {
"name": "William Langford",
"email": "wlangfor@gmail.com",
"date": "2017-06-19T14:55:26Z"
}
}
}
]
$ cat jsondemo | jq '.[0].sha'
"7b81a836c31500e685d043729259affa8b670a87"
5、内建函数
jq拥有一些内建的函数,如has,key等, key函数用于获取json中的Key
jq 'keys' json_file
has判断json文件中是否有某一个Key
cat json_raw.txt | jq 'has("name")'
true
cat json_raw.txt | jq 'has("noexisted")'
false
6、jq使用的参考链接
- http://xmodulo.com/how-to-parse-json-string-via-command-line-on-linux.html
- http://iamsk.info/2013/06/03/jq/
- http://stedolan.github.io/jq/manual/
- https://github.com/stedolan/jq 了解源码如何实现
相关文章
- 在 Go 里用 CGO?这 7 个问题你要关注!
- 9款优秀的去中心化通讯软件 Matrix 的客户端
- 求职数据分析,项目经验该怎么写
- 在OKR中,我看到了数据驱动业务的未来
- 火山引擎云原生大数据在金融行业的实践
- OpenHarmony富设备移植指南(二)—从postmarketOS获取移植资源
- 《数据成熟度指数》报告:64%的企业领袖认为大多数员工“不懂数据”
- OpenHarmony 小型系统兼容性测试指南
- 肯睿中国(Cloudera):2023年企业数字战略三大趋势预测
- 适用于 Linux 的十大命令行游戏
- GNOME 截图工具的新旧截图方式
- System76 即将推出的 COSMIC 桌面正在酝酿大变化
- 2GB 内存 8GB 存储即可流畅运行,Windows 11 极致精简版系统 Tiny11 发布
- 迎接 ecode:一个即将推出的具有全新图形用户界面框架的现代、轻量级代码编辑器
- loongarch架构介绍(三)—地址翻译
- Go 语言怎么解决编译器错误“err is shadowed during return”?
- 敏捷:可能被开发人员遗忘的部分
- Denodo预测2023年数据管理和分析的未来
- 利用数据推动可持续发展
- 在 Vue3 中实现 React 原生 Hooks(useState、useEffect),深入理解 React Hooks 的