如何在JQ中按不同级别的键收集值?

假设我有一个这样的 JSON:

[
    {
        "a": 1,
        "l": [
            {"b": "z"},
            {"b": "x"}
        ]
    },
    {
        "a": 2,
        "l": [
            {"b": "c"}
        ]
    }
]

我想从所有嵌入的数组中收集数据并获取具有“a”和“b”值的所有对象的数组。对于上面的 JSON,结果应该是:

[
    {"a": 1, "b": "z"},
    {"a": 1, "b": "x"},
    {"a": 2, "b": "c"}
]

我需要什么 JQ 表达式来尝试解决问题?

回答

您可以.l[]在表达式中使用以返回响应中返回的数组的每个元素。所以,使用下面的这个

map({a} + .l[])

Demo


以上是如何在JQ中按不同级别的键收集值?的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>