温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

linux下解析json格式的jq工具怎么用

发布时间:2021-12-02 17:50:26 来源:亿速云 阅读:359 作者:小新 栏目:云计算

这篇文章给大家分享的是有关linux下解析json格式的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

感谢各位的阅读!关于“linux下解析json格式的jq工具怎么用”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI