json - 使用 jq 从 JSON 输出中提取特定字段

标签 json jq

我有一个 JSON 输出如下:

{
  "example": {
    "sub-example": [
      {
        "name": "123-345",
        "tag" : 100
      },
      {
        "name": "234-456",
        "tag" : 100
      },
      {
        "name": "4a7-a07a5",
        "tag" : 100
      }
    ]
  }
}

我想提取三个“名称”字段的值,并将其存储在三个变量中。

我试过 cat json_file | jq '.["example.sub-example.name"]' 提取“name”字段的值,但这不起作用。

谁能告诉我如何使用 jq(或其他方法)来实现这一点?

最佳答案

如果您只想提取 name 字段,您要查找的命令是 jq '.example."sub-example"| .[] | .name'。如果要将名称保留在数组中,请将整个 jq 表达式括在方括号中。

关于json - 使用 jq 从 JSON 输出中提取特定字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39228500/

相关文章:

linux - 通过 ssh 在远程机器上运行 jq 并覆盖文件

json - 使用 jq 将两个数组合并为一个对象

java - 失败: HTTP error code : 400 While postin JSON data to URL

javascript - Jquery 插件 - 事件未正确触发

jquery - select2 ajax : define formatResult, formatSelection 和 initSelection 角色和行为

json - 输出分号分隔的字符串

json - jq 哈希数组到 csv

javascript - 关于使用 JS 过滤内容的意见

json - SAPUI5将由对象组成的JSON模型绑定(bind)到sap.m。 table

json - "Transpose"/"Rotate"/"Flip"JSON 元素