命令行JSON 处理工具 jq

723 阅读1分钟

有时候需要在命令行读取json文件内容并加以处理. 此时可以用jq这个库.

mac可通过brew install jq安装

以下为测试json文件test.json.

{
  "title": "Mr",
  "first": "Brad",
  "last": "Brooks"
}

假如有需要将文件内容读取出来, 并组装成 title first name 形式. 此时可以这样处理

jq -r '[.title, .first, .last]|join(" ")' test.json

输出结果: Mr Brad Brooks

参数解释:

  • -r 输出raw格式内容或JSON格式内容(JSON格式是指符合JSON标准的格式. 比如字符串{"title": "Mr"}, 使用 -r 返回的是'Mr', 不只用-r时,返回'"Mr"', 多了一对双引号").
  • [] 返回结果存储在数组对应的index上
  • . 表示作为对表达式输入的整个JSON对象的引用
  • .title取title属性的值(对象操作.)
  • | 管道, 前面的结果传递给后面

参考链接: stedolan.github.io/jq/manual/#…

www.ibm.com/developerwo…