JQ:打印键和属性值

JQ: Print Key and Attribute Value

我一直在尝试打印一个键和属性值,所以给出这个 JSON

[
  {
    "key": "foo",
    "value": { "sub" : false}
  },
  {
    "key": "bar",
    "value": { "sub" : true}
  }
]

我想要return这样的东西:

[
  {
    "foo": "false"
  },
  {
    "bar": "true"
  }
]

我正在使用 to_entries 来执行此操作,但是当我将 JSON 输入 JQ 时,我似乎无法正确访问它?我收到一个错误:

jq: error (at :9): Cannot index array with string "key"

This test case 简化行为

你不能在这里真正使用 to_entries,它从 key/value 对象的数组中创建一个对象。您正在尝试将 key/value 对象映射到另一个对象。直接贴图就可以了

map({ (.key): .value.sub })