文档章节

Linux下Json格式化神器jq

SummerGao
 SummerGao
发布于 2018/07/30 15:30
字数 429
阅读 1367
收藏 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

格式化后

格式化后

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

2、JSON解析

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

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

如何根据key获取value?

jq '.key'

解析Json

解析

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

null

3、JSON nested parse(嵌套解析)

嵌套解析

4、JSON parse array

嵌套解析

5、内建函数

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

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

keys

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

has

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

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

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

© 著作权归作者所有

SummerGao
粉丝 4
博文 219
码字总数 83977
作品 0
济南
高级程序员
私信 提问
linux下json解析神器----jq

前言 在linux环境中,使用curl命令,调用单个接口,返回的数据通常都是一大坨,看起来很不方便。 如图: 如果我们只需要其中的一部分数据,name在这么一大坨中寻找,还是比较吃力的。 一般遇...

迈阿密小白
2018/09/21
0
0
jq 一个强悍的json格式化查看工具

本文来自网易云社区 作者:娄超 在web 2.0时代json这种直观、灵活、高效数据格式基本已经成为一种标准格式,从各种web api,到配置文件,甚至现在连mysql都开始支持json作为数据类型。 但是在...

网易云
2018/09/11
0
0
linux-shell命令处理json数据

  0x00 jq介绍   jq是一个轻量级的灵活的处理json对象的命令。支持linux、windows      0x01 二进制安装   wget -O jq https://github.com/stedolan/jq/releases/download/jq-1.5/...

linux运维菜
2018/07/10
0
0
Ubuntu下浏览Json文件

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/fjssharpsword/article/details/85757985 1.安装jq工具:sudo apt-get install jq 2.查看json文件:cat annot...

fjssharpsword
01/04
0
0
JSON 命令行格式化工具【最好用的json格式化工具】

1. jq 命令参数 将数据保存在1.json中 2. 格式化json数据 . 的意思是所有数据, 不过滤 返回数据 3. 根据index获取数据 .[0] 的意思是获取下标是0的数据 返回数据: 1. 截取数据 返回数据 4. 管...

AndyMac
2018/08/17
0
0

没有更多内容

加载失败,请刷新页面

加载更多

可见性有序性,Happens-before来搞定

写在前面 上一篇文章并发 Bug 之源有三,请睁大眼睛看清它们 谈到了可见性/原子性/有序性三个问题,这些问题通常违背我们的直觉和思考模式,也就导致了很多并发 Bug 为了解决 CPU,内存,IO ...

tan日拱一兵
30分钟前
3
0
网络七层模型与TCP/UDP

为了使全球范围内不同的计算机厂家能够相互之间能够比较协调的进行通信,这个时候就有必要建立一种全球范围内的通用协议,以规范各个厂家之间的通信接口,这就是网络七层模型的由来。本文首先...

爱宝贝丶
33分钟前
4
0
Jenkins World 贡献者峰会及专家答疑展位

本文首发于:Jenkins 中文社区 原文链接 作者:Marky Jackson 译者:shunw Jenkins World 贡献者峰会及专家答疑展位 本文为 Jenkins World 贡献者峰会活动期间的记录 Jenkins 15周岁啦!Jen...

Jenkins中文社区
51分钟前
8
0
杂谈:面向微服务的体系结构评审中需要问的三个问题

面向微服务的体系结构如今风靡全球。这是因为更快的部署节奏和更低的成本是面向微服务的体系结构的基本承诺。 然而,对于大多数试水的公司来说,开发活动更多的是将现有的单块应用程序转换为...

liululee
今天
8
0
OSChina 周二乱弹 —— 我等饭呢,你是不是来错食堂了?

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @ 自行车丢了:给主编推荐首歌 《クリスマスの夜》- 岡村孝子 手机党少年们想听歌,请使劲儿戳(这里) @烽火燎原 :国庆快来,我需要长假! ...

小小编辑
今天
904
12

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部