jq - 嵌套字典解析器和提取密钥

pto*_*tou 2 json filter jq

我试图用jq解析以下结构:

{
    "a": {
        "sensitive": false,
        "type": "string",
        "value": "mykeypair"
    },
    "b": {
        "sensitive": false,
        "type": "string",
        "value": "123"
    }
}
Run Code Online (Sandbox Code Playgroud)

并将此作为输出:

{
        "a": "mykeypair",
        "b": "123"
}
Run Code Online (Sandbox Code Playgroud)

我想要键和作为值,字段'value'的值.任何的想法?干杯,

Dam*_*ero 5

我想这就是您正在寻找的:

[ to_entries[] | .value = .value.value ] | from_entries
Run Code Online (Sandbox Code Playgroud)

更简单的方法:

with_entries(.value |= .value)
Run Code Online (Sandbox Code Playgroud)

在这里检查结果:

https://jqplay.org/s/uHqfdPoF3e

  • 您可以使用以下方法大大简化该方法:`with_entries(.value |= .value)` (2认同)

Jef*_*ado 5

如果您只是获取根对象中value的每一个value,您可以使用map_values/1获取这些值.

map_values(.value)
Run Code Online (Sandbox Code Playgroud)