美文网首页
jq命令 - json文本处理

jq命令 - json文本处理

作者: 十毛tenmao | 来源:发表于2021-10-16 22:29 被阅读0次

jq可以对json数据进行分片、过滤、映射和转换

安装

#CentOS
yum install jq

#MacOS
brew install jq

提取信息

cat json.txt
[{"genre":"deep house"}, {"genre": "progressive house"}, {"genre": "dubstep"}]
  • 格式化展示原文
cat json.txt | jq '.' 
[
  {
    "genre": "deep house"
  },
  {
    "genre": "progressive house"
  },
  {
    "genre": "dubstep"
  }
]
  • 输出数组中的元素,可以使用[index]
cat json.txt | jq '.[0]'
{
  "genre": "deep house"
}
  • 输出对象的一个字段
jq '.[0].genre' json.txt
"deep house"

数据转换

  • 过滤字段
cat json.txt| jq -c '[.[] | {"name", "age"}]'
[{"name":"tenmao","age":100},{"name":"tencent","age":null}]
  • 根据KV的值过滤值
cat json.txt| jq -c 'map(select(.name == "tenmao"))'
[{"genre":"deep house","name":"tenmao","age":100}]
  • 增加字段
# 使用map: 映射, 其中.号表示原文, + 表示merge信息
# if then else end是逻辑语句
cat json.txt| jq -c 'map(if .name == "tenmao" then . + {hobby: "baskball"} else . end)'
[{"genre":"deep house","name":"tenmao","age":100,"hobby":"baskball"},{"genre":"progressive house","name":"tencent"}]

参考

相关文章

  • jq命令 - json文本处理

    jq可以对json数据进行分片、过滤、映射和转换 安装 提取信息 格式化展示原文 输出数组中的元素,可以使用[in...

  • Linux命令jq

    是什么 jq 是一个轻量级的json处理命令。可以对json数据进行分片、过滤、映射和转换 jq . 对json数...

  • jq 命令介绍

    jq 命令介绍 简介 jq 是一款命令行下处理 JSON 数据的工具。其可以接受标准输入,命令管道或者文件中的 J...

  • linux jq 命令

    jq 命令可以方便快捷的解析 json 格式的数据。下面几个例子简单的记录了 jq 命令的用法。其中 task_f...

  • 读取HDFS中的 Json文件 并排序去重求个数

    命令 : 备注: hdfs dfs -cat 是HDFS文件系统里的cat命令 jq 是linux下的 Json解...

  • 优雅的查看json文件

    前面 jq是一个轻量级但是贼灵活的命令行json处理器.jq在json数据处理中很有用就像用awk处理文本一样。j...

  • 给力的linux命令--jq简易教程

    jq简介 jq可以对json数据进行分片、过滤、映射和转换,和sed、awk、grep等命令一样,都可以让你轻松地...

  • Linux中在命令行中使用JQ来解析修改JSON字符串

    Linux中在命令行中使用JQ来解析修改JSON字符串 在现实开发场景中, 经常需要在命令行中做一些解析json数...

  • 轻量级和便捷的命令行JSON解析器

    什么是jq jq is like sed for JSON data - you can use it to sl...

  • shell学习

    1>jq内建函数 输出所有的keys 语法: jq keys 例如:cat json_raw.txt | jq ...

网友评论

      本文标题:jq命令 - json文本处理

      本文链接:https://www.haomeiwen.com/subject/buhioltx.html