JQ:打印关键字和属性值

时间:2015-10-12 11:50:05

标签: jq

我一直在尝试打印一个键和属性值,因此给出了这个JSON

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

我想要返回这样的内容:

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

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

  

jq:error(at:9):无法使用字符串“key”索引数组

This test case简化了行为

1 个答案:

答案 0 :(得分:1)

这里你不能真正使用to_entries,它会从键/值对象数组中创建一个对象。您正在尝试将键/值对象映射到另一个对象。只需直接映射即可。

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