前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >linux下解析json格式的jq工具

linux下解析json格式的jq工具

作者头像
公众号: 云原生生态圈
发布2021-11-15 18:20:36
3.6K0
发布2021-11-15 18:20:36
举报
文章被收录于专栏:云原生生态圈
  • linux下解析json格式的jq工具
    • 第一章 jq入门
      • 1、linux下jq工具的安装
      • vim中使用jq工具
    • 第二章 linux下jq工具的基本使用
      • 1、检查json文件的格式的合法性
      • 2、显示json文件的所有内容
      • 3、通过Key获取Value的值
      • 4、嵌套解析
      • 5、内建函数
      • 6、jq使用的参考链接

linux下解析json格式的jq工具

代码语言:javascript
复制
jq工具会把json文件更有好的读取出来,此外,jq工具还在背后检查json文件的合法性,如果文件存在格式上的错误,jq也会报出错误存在的位置

第一章 jq入门

1、linux下jq工具的安装

代码语言:javascript
复制
sudo apt-get install jq -y

vim中使用jq工具

  • 注意提前备份json文件,因为该操作会直接修改文件
  • 在vim的最后一行模式下使用
代码语言:javascript
复制
:%!jq '.'

第二章 linux下jq工具的基本使用

1、检查json文件的格式的合法性

代码语言:javascript
复制
如果该json文件存在格式错误,会报出错误存在的位置,如:
代码语言:javascript
复制
"url"
parse error: Expected string key before ':' at line 1, column 6

2、显示json文件的所有内容

代码语言:javascript
复制
cat json | jq .

3、通过Key获取Value的值

代码语言:javascript
复制
cat json | jq '.name'

解析不存在的元素key时,会返回null.

4、嵌套解析

案例1

代码语言:javascript
复制
cat json_area.txt | jq '.location.state'
"Beijin"

案例2

代码语言:javascript
复制
$ 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

代码语言:javascript
复制
jq 'keys' json_file

has判断json文件中是否有某一个Key

代码语言:javascript
复制
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 了解源码如何实现
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2017-07-20,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 云原生生态圈 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • linux下解析json格式的jq工具
    • 第一章 jq入门
      • 1、linux下jq工具的安装
      • vim中使用jq工具
    • 第二章 linux下jq工具的基本使用
      • 1、检查json文件的格式的合法性
      • 2、显示json文件的所有内容
      • 3、通过Key获取Value的值
      • 4、嵌套解析
      • 5、内建函数
      • 6、jq使用的参考链接
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档