json jq将第一级关键字Map到嵌套值

xmq68pz9  于 2022-12-20  发布在  其他
关注(0)|答案(1)|浏览(130)

使用jq,如何将输入转换为JSON对象,该对象将第一级键Map到latest嵌套值的值?

{
  "foo": {
    "current": "0.15.14",
    "wanted": "0.15.14",
    "latest": "0.16.4",
  },
  "bar": {
    "current": "8.27.0",
    "wanted": "8.27.0",
    "latest": "8.29.0",
  },
  "baz": {
    "current": "27.1.5",
    "wanted": "27.1.5",
    "latest": "27.1.6",
  }
}

如何进行改造,

{
  "foo": "0.16.4",
  "bar": "8.29.0",
  "baz": "27.1.6"
}
mwngjboj

mwngjboj1#

使用map_values将所有字段值Map到其.latest字段

map_values(.latest)

Demo
或者通过用该过滤器更新每个字段.[]

.[] |= .latest

Demo
实际上,map_values(f)只是.[] |= f的一个定义的快捷方式。

相关问题