用jq省略子值

时间:2018-04-25 20:43:06

标签: json linux key jq

我有以下文件

~/ cat /tmp/stuff2 | jq '.'
{
  "x": {
    "a": {
      "c1": 2,
      "c2": "sss"
    },
    "b": {
      "c1": 3,
      "c2": "sfs",
      "c3": {
        "d1": "aa",
        "d2": 3
      }
    },
    "c": {
      "c1": 5,
      "c2": "ssy"
    },
    "d": {
      "c1": 8,
      "c2": "esy"
    }
  }
}

我想做以下事情:

~/ cat /tmp/stuff2 | jq '.x | <1st level|not child>'
{
  "a",
  "b",
  "c",
  "d"
}

我无法找到省略这些索引的子值或子节点的方法。

提前致谢。

1 个答案:

答案 0 :(得分:1)

我想你想要keys

jq '.x|keys' input.json
[
  "a",
  "b",
  "c",
  "d"
]