我可以使用`jq`来缩小数组中的json对象吗?输入:[{a: 1, b: 2},{a:2, b: 3}] 输出:[{a:1}, {a:2}]

问题描述 投票:0回答:1

输入:

{
   "data": [
      {
        "a": "a1",
        "b": "b1",
        "c": "1"
      },
      {
        "a": "a2",
        "b": "b2",
        "c": "2"
      }
    ]
}

预期输出:

{"a": "a1", "b": "b1"}
{"a": "a2", "b": "b2"}

到目前为止我能得到的最接近的方法是:

"a1"
"a2"
"b1"
"b2"

演示

检查了文档并尝试了包括map_values的多种组合,但无法指出。我认为这应该是一个更漂亮有用的用例......

如果我使用:

{a: .data[].a, b: .data[].b}

输出变为:

{
  "a": "a1",
  "b": "b1"
}
{
  "a": "a1",
  "b": "b2"
}
{
  "a": "a2",
  "b": "b1"
}
{
  "a": "a2",
  "b": "b2"
}

显然不是我想要的。

有人可以就此提出建议吗? 谢谢。

jq
1个回答
0
投票
jq -c '.data[] | {a, b}'

在线演示

© www.soinside.com 2019 - 2024. All rights reserved.