当前位置:首页 » JavaScript技术

Linux命令行json解析工具——jq

2014-08-13 17:04 本站整理 浏览(9)
jq基本使用可以参考这篇文章:
http://blog.chinaunix.net/uid-24774106-id-3830242.html
jq英文文档请参考:
http://stedolan.github.io/jq/manual/
=================================================================
基本格式:
jq [参数列表] '过滤条件' 文件名或标准输入
例:
jq -c '.foo' a.json
或:
cat a.json | jq -c '.foo'
=================================================================
参数说明:
--compact-output / -c
默认情况下,jq会将json格式化为多行树状结构输出,但有时需要将一个json串在一行输出,即可使用该参数
=================================================================
过滤器说明:
.foo, .foo.bar
获取json中key的值,可过滤出多级json串中的key值。
.foo, .bar
同时获取json中多个key的值。但过滤出的多个值会分多行显示。
{foo: .foo, bar: .bar}
获取json中部分key的值,并组合为新的object形式的json串。foo与bar即新json串的key,.foo与.bar即原json串中需要获取值的key。
注意,生成的json串内容顺序是倒序的,上例中会生成:{"bar":"", "foo":""}
[.foo, .bar]
获取json中部分key的值,并组合为新的数组形式的json串。.foo与.bar即原json串中需要获取值的key。
注意,生成的json串内容顺序是正序的,上例中会生成:["foov", "barv"]