我想解析一个 JSON 文件以获得一个特定的值,其中条件是另一个键/值对,但我不知道如何处理这个(我不是开发人员)。 例如,我得到这个 JSON

[
    {
        "id": "c490ffaf-92ea-4a29-9614-ab36a088f366",
        "clientId": "account",
        "name": "${client_account}",
        "rootUrl": "${authBaseUrl}",
        "baseUrl": "/realms/test1/account/",
        "surrogateAuthRequired": false,
        "enabled": true,
        "clientAuthenticatorType": "client-secret",
    },
    {
        "id": "2daa32334-24322-4a29-43242-423223",
        "clientId": "swap",
        "name": "${client_swap}",
        "rootUrl": "${authBaseUrl}",
        "baseUrl": "/realms/test/swap/",
        "surrogateAuthRequired": false,
        "enabled": true,
        "clientAuthenticatorType": "client-secret",
    },
    {
        "id": "e22112-11111-4a329-22211-333312",
        "clientId": "broker",
        "name": "${client_broker}",
        "rootUrl": "${authBaseUrl}",
        "baseUrl": "/realms/test/broker/",
        "surrogateAuthRequired": false,
        "enabled": true,
        "clientAuthenticatorType": "client-secret",
    },
]

我想要来自“clientId”的值为“account”的块中的“id”的值(在本例中为c490ffaf-92ea-4a29-9614-ab36a088f366)

如何用 jq 和 bash 做那种事情?

#1楼 票数:0

如果出现不止一次,使用以下查询可能是明智的:

.[]
| select(.clientId == "account")
| .id

  ask by translate from so

未解决问题?本站智能推荐:

1回复

使用JQ和Bash在JSON对象中添加键值对

编辑此帖子以进行澄清,因为我第一次做得不好- 我有一个脚本,该脚本可爬网目录并从WP网站中提取信息,并构建对象的JSON数组,这些对象最终将被馈送到可视仪表板中。 该脚本可以完美运行,但是我似乎无法像在第一个对象中那样获取siteurl键以将其发布到每个对象中。 需要将具有null的密
2回复

使用jq获取特定的键值对

在下面的示例json中,我可以使用jq -M ' map(select(.charge == null)) '过滤费用为null的记录 返回: 一个人如何仅获取id和与过滤后的记录的id相关联的值,以便将该步骤添加到上述查询中将返回2 ?
2回复

使用jq替换基于键值对的JSON值

我有一个具有以下结构的JSON 我正在努力实现的目标 在input_dataobjects如果datatype == somedatatype1则name = sonemewname1 。 我可以使用input_dataobjects的索引,因为我的json始终具有相同的结构。 但
7回复

使用jq从管道分隔键和bash中的值创建JSON

我试图从bash中的字符串创建一个json对象。 字符串如下。 输出来自docker stats命令,我的最终目标是将自定义指标发布到aws cloudwatch。 我想将此字符串格式化为json。 我之前使用过jq命令,看起来它应该在这种情况下运行良好,但我还没有找到一个好的解决方
1回复

bash-jq用键和值中的空格迭代json

尝试从具有以下结构的文件中迭代顶级键和相应的 json 对象值。 上面的结构只是一个示例。 键和值可以是任何东西。 预期的输出是获取键和相应的 json 对象值。 使用 to_entries 字符串值之间的空格破坏了逻辑。 期望的输出:
1回复

使用JQ时,JSON键值变为空白

我使用JQ来解析Salesforce CLI返回的JSON。 我的bash脚本是: 我在Windows上的VS Code中使用bash终端。 我从这个脚本获得的输出是: 我能够从JSON读取状态字段,但它与结果对象有点失败。 我想从JSON中读取instanceUrl字段,以便稍后
6回复

就地使用jq修改json中的键值

我有一个 json,我想在其中修改特定值,但终端总是显示带有修改值的 json,但它实际上并没有更改特定文件中的值。 示例json: 我想更改文件本身中地址的值,但到目前为止我一直无法这样做。 我尝试使用: 但它没有用。 有什么建议?
1回复

通过jq/bash按属性获取JSON对象

我有一些看起来像这样的JSON对象 我只需要从这些对象之一中获取值,但是我只知道“名称”值。 我已经尝试过这样的事情: 然后我得到 但是我需要从该对象获取值,如何实现呢?