jq --- shell命令模式下JSON格式化利器

开发restful 的web api时,一般使用JSON作为返回数据的格式,调试使用curl命令十分方便,

但是curl有个问题就是返回的JSON数据包并没有格式化,不利于读,在数据复杂时更是灾难,

这时候很多人就使用postman这样的带UI的工具,我个人还是比较喜欢curl,所以找到了一个

JSON格式化工具:jq,下面是效果

原始效果:

$ curl http://localhost:8080/get
{"name":"hh","data":{"school":"jj","addr":"bb"}}

使用jq的效果

$ curl -s http://localhost:8080/|jq .
{
    "name": "hh",
    "data": {
        "school": "jj",
        "addr": "bb"
    }
}

PS:jq后面的点是必须的

安装:mac  brew install jq

linux  apt-get install jq

时间: 2024-08-01 22:40:08

jq --- shell命令模式下JSON格式化利器的相关文章

使用jq工具在Shell命令行处理JSON数据

因为最近要处理一些 JSON 数据格式,一大早经过一番搜索后,最终找到了 jq 这个很棒的工具.jq 允许你直接在命令行下对 JSON 进行操作,包括分片.过滤.转换等等. 首先在mac下安装jq,使用brew install jq就可以了,前提是安装了homebrew,如果在linux ubuntu下,应该可以使用sudo apt-get install jq安装. 让我们通过几个例子来说明 jq 的功能: 一.输出格式化,漂亮的打印效果 如果我们用文本编辑器打开 JSON,有时候可能看起来会

怎么在命令模式下使用adb / 进入adb shell(脚本)

1.打开winows菜单,输入cmd命令,点击确定,进入命令模式下. 2.输入命令 D:(这里输入的D表示你的sdk存放的盘下) 然后回车输入cd 3.然后选择你sdk路径,复制路径. 4.鼠标点击cmd,选择编辑,选择粘贴 将复制的路径粘贴到 命令行 回车. 5.然后输入命令adb start-service 打开adb. 出现如图所示,表示adb服务开启成功,就可以使用adb命令了. 6.使用adb  shell 命令.--- 进入adb shell(脚本) 原文:http://jingya

CLI命令模式下Call to undefined function mysql_connect()

背景: http访问一切正常,可以connect到数据库存取数据.但是当CLI模式时会出现Call to undefined function mysql_connect() 原因:CLI模式下 没有配置php.ini文件,或者配置了php.ini,但是php.ini里没有php_mysql.dll或mysql.so模块 解决: 1 首先执行 php -m检查 mysql模块是否加载 2 执行命令 php --ini 检查命令模式的配置文件路径以及配置文件是否存在 输出如下: Configura

【Linux基础】VI命令模式下删除拷贝与粘贴

在VI命令模式下:y 表示拷贝, d 表示删除,p标识粘贴 1.删除 dw 表示删除从当前光标到光标所在单词结尾的内容. d0 表示删除从当前光标到光标所在行首的内容. d$ 表示删除从当前光标到光标所在行尾的内容. dd 表示删除光标所在行.6dd 表示删除6行 D 表示删除从当前光标到光标所在行尾的内容. :6,10  delete 表示删除第6行至第10行的数据,其中"delete"可以简写为"d"或"del"等等.---删除大量行时使用

vim编辑和命令模式下的实践

编辑模式 i 在光标当前的地方开始编辑文档 I 在光标所在的行首开始编辑 o 从光标所在的行的下面一行开始编辑 O 从光标所在的行的上面一行开始编辑 a 在光标所在行的后一个字符开始编辑 A 在光标所在行的行末开始编辑 命令模式和实践 查找文件格式: /需要查找的内容 如:/dnsmasq 直接回车就可以高亮显示出匹配查找的内容, 按n 是查找下一个 按N 是往上查找 也可以用?查找需要的内容,n和N的用法和/相反 命令行模式下的替换 1,100s/new/old/g 1,100是需要替换的范围

Linux shell 命令行下查询外网IP

查询IP在网页上打开网址就可以显示,但是在命令行下可以安装w3m/Links/Lynx这些命令行浏览器,但是为了这个又感觉不方便,所以很多查IP网站提供了UNIX/LINUX的. 命令行查询(详细): UNIX/Linux: #curl cip.cc Windows:    >telnet cip.cc             >ftp cip.cc              命令行查询(纯ip): UNIX/Linux:    #curl ip.cip.cc 参考: http://www.c

vim命令模式下的删除复制粘贴

删除命令 -删除字符 删除光标前的字符:X (大写X) 删除光标后的字符: x (小写x) -单词:dw 删除整个单词,光标应该在单词的最前面 -删除光标前字符串:d0 -删除光标后字符串:d$ -删除行:dd,删除光标所在行 -删除多行:ndd n,行数 撤销和反撤销 撤销:u 反撤销:ctrl+r 复制和粘贴 复制: 一行:yy 多行:nyy 粘贴: p:粘贴到光标的下边一行 P:粘贴到光标的上边一行 在vim情况下删除相当于剪切操作 想要复制一部分,开启可视模式 可视模式:v -移动光标:

linux shell命令行下操作mysql 删除mysql指定数据库下的所有表--亲测成功百分百测试通过--绝对可靠

1,在shell提示符下查看mysql指定数据库下的表等数据 2.批量删除mysql下指定数据库下的所有表,Ruiy完成绝对测试---通过Pass for tb in `echo "use se;show tables" | mysql -p321`;do mysql -e "drop table se.$tb" -p321;done 再进一步的完整语句为,过滤掉那个Tables_in_DBName for tb in `echo "use se;show

MongoDB命令模式下的条件过滤总结

db.tb1.find() //查询全部,用it查看下一页.db.tb1.find({"age":1}) //查询年龄==1的记录db.tb1.find({},{"age":1}) //查询年龄==1的记录db.tb1.find({"name":{$all:["a","b"]}}) //查询name含有a,b的记录db.tb1.find({"name":{$exists:true}})