使用jq从JSON中的不同键下获取值

epfja78i  于 2022-12-01  发布在  其他
关注(0)|答案(2)|浏览(225)

当我有一个如下的JSON时,

{
  "group1": [
    {
      "name": "name_AAA",
      "size": 1
    },
    {
      "name": "name_BBB",
      "size": 2
    }
  ],
  "group2": [
    {
      "name": "name_CCC",
      "size": 3
    },
    {
      "name": "name_DDD",
      "size": 4
    }
  ]
}

我想用jq命令获取以下值。

name_AAA
name_BBB
name_CCC
name_DDD

我尝试执行以下操作,但返回了意外值

$ jq -r '.group1[] * .group2[] | .name' < "mydata.json"
name_CCC
name_CCC
name_DDD
name_DDD

我怎样才能得到我想要的价值?

mwngjboj

mwngjboj1#

您可以使用

jq -r '.[][].name' mydata.json

以及Raw Output选项来去掉 Package 引号
Online Demo

piwo6bdm

piwo6bdm2#

您还可以考虑:

jq -r '..|.name?' mydata.json

相关问题