超级好用的轻量级JSON处理命令jq
1 简介
jq是一个轻量级的命令行工具,让你可以非常方便地处理JSON数据,如切分、过滤、映射、转化等,就像sed、awk、grep文本处理三剑客一样。jq是用C写的,没有运行时依赖,你可以直接下载可执行文件就可以使用了。

2 下载安装
官网提供了可执行文件,可以直接下载使用,当然也可以通过源码编译。
我是直接下载的,然后给可执行权限:
$ chmod +x jq-osx-amd64
更名为jq:
$ mv jq-osx-amd64 jq
再加入PATH即可。
$ jq --version
jq-1.6
3 如何使用
官方提供了线上版本,可以直接使用,还给出了很多常用的例子,简直不要太方便:

3.1 一些简单的例子
过滤:获取全部内容:
$ echo '{"name":"Larry Deng"}' | jq .
{
"name": "Larry Deng"
}
过滤:获取特定key值:
$ echo '{"name":"Larry Deng"}' | jq .name
"Larry Deng"
计算长度:
$ echo '{"name":"Larry Deng","age":18}' | jq '.name | length'
数学计算(求立方):
$ echo '[1,2,3]' | jq 'map(.*.*.)'
[
1,
8,
27
]
截取数组部分(使用管道):
$ echo '[1,2,3]' | jq '.[0:2] | map(.*.*.)'
[
1,
8
]
读取key值:
$ echo '{"abc": 1, "abcd": 2, "Foo": 3}' | jq keys
[
"Foo",
"abc",
"abcd"
]
3.2 处理文件
除了可以通过管道来处理文本,也可以直接处理文件。把下面内容保存为jq.json:
{
"info": [
{"name":"Larry Deng","age":"18","webSite":"www.pkslow.com"},
{"name":"Larry","age":"01","webSite":"pkslow.com"},
{"name":"LarryDpk","age":"20","webSite":"https://www.pkslow.com"}
],
"version":"1.0.3"
}
处理如下:
$ jq .version jq.json
"1.0.3"
$ jq .info[0] jq.json
{
"name": "Larry Deng",
"age": "18",
"webSite": "www.pkslow.com"
}
$ jq '.info |.[].name ' jq.json
"Larry Deng"
"Larry"
"LarryDpk"
$ jq '.info |.[].webSite ' jq.json
"www.pkslow.com"
"pkslow.com"
"https://www.pkslow.com"
4 总结
jq真的很好用,特别是在我们通过curl获取json结果时。
更多使用请参考手册:https://stedolan.github.io/jq/manual/
超级好用的轻量级JSON处理命令jq的更多相关文章
- linux 下强大的 JSON 解析命令 jq
介绍 jq is like sed for JSON data - you can use it to slice and filter and map and transform structure ...
- 【C++】cmdline——轻量级的C++命令行解析库
1.说明 cmdline是一个轻量级的c++命令行参数解析工具,全部源码只有一个cmdline.h头文件. 2.代码 20171210_命令行进行解析.cpp // 20171210_命令行进行解析. ...
- 超级好用的解析JSON数据的网站
超级好用的解析JSON数据的网站 网址 http://json.parser.online.fr/beta/ 效果图 测试数据 {,},,,,,,},{,,,,},{,,,,},{,,,,,,,,,, ...
- 开源的轻量级JSON存储Kinto介绍
本文来源于我在InfoQ中文站翻译的文章,原文地址是:http://www.infoq.com/cn/news/2015/12/introducing-kinto Kinto是个提供了同步与分片功能的 ...
- Linux 命令详解(十一)Shell 解析 json命令jq详解
前言 在自动化部署中涉及到shell脚本需要动态读取很多配置文件,最好是json格式. 更多jq信息: http://stedolan.github.io/jq/manual/ 一.根据key获取va ...
- HTML5开发——轻量级JSON存储解决方案Lawnchair.js
Lawnchair是一个轻量级的移动应用程序数据持久化存储方案,同时也是客户端JSON文档存储方法,优点是短小,语法简洁,扩展性比较好. 现在做HTML5移动应用除了LocalStorage的兼容性比 ...
- Linux下处理JSON的命令行工具:jq---安装
转自:https://blog.csdn.net/Sunny_much/article/details/50668871 JSON是前端编程经常用到的格式.Linux下也有处理处理JSON的 ...
- 超轻量级Json框架SmartObject
最近我在codeplex上发了一个项目SmartObject(基于framework4.5,目前是1.0版本).用法如下: // HowToUse using Spider.Data; //json ...
- mac 下使用shell 命令 jq 解析json
官网 https://stedolan.github.io/jq/download/ 安装 brew install jq 创建json文件,file.json { , "msg" ...
随机推荐
- 【第一篇】- Git 教程之Spring Cloud直播商城 b2b2c电子商务技术总结
Git 教程 Git 是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目. Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制 ...
- kubectl apply部署时可以用 --record 方便记录版本 和回退
1.部署时正常时下面的 kubectl apply -f http.yaml 2.如果修改文件文件重新部署或者之前有上一个版本的 想回退上一个的 可以无感知的回退回去 不影响业务 其中http-de ...
- Jupyter Notebook 修改字体和大小
1 打开这个目录 D:\SoftWare\Anaconda\Lib\site-packages\notebook\static\custom 点开这个 也就是你安装的 python下面的 jupyte ...
- 我爬取交通学博士付费的GIS资源,每年被动收入2w很简单?
目录 1.背景介绍 2.技术路线 3.数据结果 4.数据分析 5.总结 6.后记 1.背景介绍 某周末闲来无事,顺手打开了CSDN,看到了一个人发布的收费GIS资源,售价是¥19.9,POI数据也有人 ...
- PHP中操作数据库的预处理语句
今天这篇文章的内容其实也是非常基础的内容,不过在现代化的开发中,大家都使用框架,已经很少人会去自己封装或者经常写底层的数据库操作代码了.所以这回我们就来复习一下数据库中相关扩展中的预处理语句内容. 什 ...
- mysql将数据导入到另外一张操作
insert into ydcq_member_class (ClassId,signcount,UserId) select 64,2,`员工编号` from `学员名单`
- 限制只有VIP会员才能下载Ecshop文章页的附件
以官方2.7.2默认模板为基础来讲述一下"如何在文章详情页限制只有VIP会员才能下载相关附件"这里假设VIP会员的等级ID为2首先修改 article.php 文件打开 /arti ...
- test,exec,match,replace方法区别 正则
这四种方法都是用来检测字符串是否包含某一子串或是否匹配否个正则表达式 test方法,匹配返回true,不匹配返回false match,匹配返回匹配到的数组(包含多次/g),匹配一次返回包含匹配子串的 ...
- PyCharm取消波浪线
步骤:settings->Editor->Color Scheme->General->(右侧)Errors and Warnings->Weak Warning-> ...
- python读取ini文件
import configparser import os config=configparser.ConfigParser()#创建config对象 file_path=os.path.dirnam ...