我有一个数组:

[
    {
        "AssetId": 14462955,
        "Name": "Cultural Item"
    },
    {
        "AssetId": 114385498,
        "Name": "Redspybot"
    },
    {
        "AssetId": 29715011,
        "Name": "American Cowboy"
    },
    {
        "AssetId": 98253651,
        "Name": "Mahem"
    }
]

我想遍历此数组中的每个对象,并挑选出称为AssetId的每个键的值并将其输出。
如何在命令行中使用jq做到这一点?

最佳答案

命令行工具jq写入STDOUT和/或STDERR。如果要将.AssetId信息写入STDOUT,则一种可能性如下:

jq -r ".[] | .AssetId" input.json

输出:
14462955
114385498
29715011
98253651

一个更可靠的方法是:.[] | .AssetId?,但是如果没有名为“AssetId”的键,则您的选择将取决于所需的内容。

09-17 09:08