首页 > 解决方案 > 使用 JSONPath 根据数组中的其他元素选择 JSON 属性

问题描述

我有一个示例 JSON 数组:

{
"data": {
    "list": [
        {
            "id": 192,
            "name": "John Black",
            "username": "jblack",
            "email": "jblack@myorganization.com",
            "extern_uid": "user distinguished name"
        },
        {
            "id": 63,
            "name": "Jane Doe",
            "username": "jadoe",
            "email": "jadoe@myorganization.com",
            "extern_uid": "user distinguished name"
        }
    ]
}}

我想使用 JSONPath 表达式提取基于另一个属性的属性,

例如:

我想搜索名称“Jane Doe”并从 Jane Doe 数组中提取值,例如id: 63或 Jane Doe 数组中的任何其他值。这在 JSONPath 中可能吗?我不是 JSONPath 方面的专家,所以如果这对其他人来说似乎微不足道,我深表歉意

谢谢大家

标签: arraysjsonjson-path-expression

解决方案


找到了解决方案:

$.data.list[?(@.username == "jblack")].id

将返回:

“身份证”:192


推荐阅读