Linux下Json格式化神器jq

2023年 10月 12日 136.0k 0

JSON是前端编程经常用到的格式,对于PHP或者Python,解析JSON都不是什么大事,尤其是PHP的json_encode和json_decode非常好用。然后Linux下也有这样的神器就是jq命令,对于运维平常处理json格式的文件有很大帮助!

对于JSON格式而言,jq就像sed/awk/grep这些神器一样的方便,而且jq没有乱七八糟的依赖,只需要一个binary文件jq,就足矣。

一、安装

Centos:

yum -y install jq

Ubuntu:

apt-get update
apt-get -y install jq

二、使用

没有格式化前

未格式化json

格式化后 |  jq

格式化后

看到上图,将一团乱麻的JSON格式化成个更可读的形式。其实背后另外检查了JSON的合法性。如果JSON不合法,jq .会报错。

1、JSON解析

如上图json,jq是如何解析JSON,根据key获取value?

 {
    “key_1”:"value_1",
    “key_2”:"value_2",
}

如何根据key获取value?

jq '.key'

解析Json

解析

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

null

2、JSON nested parse(嵌套解析)

嵌套解析

3、JSON parse array

嵌套解析

4、内建函数

jq还有一些内建函数如 key,has

key是用来获取JSON中的key元素的:

keys

has是用来是判断是否存在某个key:

has

希望进一步了解jq并使用的可以去stedolan.github.io/jq/manual/

希望了解源码实现的,可以去github.com/stedolan/jq

参考http://www.openskill.cn/article/357

相关文章

服务器端口转发,带你了解服务器端口转发
服务器开放端口,服务器开放端口的步骤
产品推荐:7月受欢迎AI容器镜像来了,有Qwen系列大模型镜像
如何使用 WinGet 下载 Microsoft Store 应用
百度搜索:蓝易云 – 熟悉ubuntu apt-get命令详解
百度搜索:蓝易云 – 域名解析成功但ping不通解决方案

发布评论