使用 jsonpath 在 json 中提取元素值

Extract an element value in json using jsonpath

以下是我的json数据

{
    "primary": [
        {
            "secondary": {
                "name": {
                    "fullname": "fullname1"
                },
                "alias": "alias1"
            },
            "reference": "reference1"
        },
        {
            "secondary": {
                "name": {
                    "fullname": "fullname2"
                },
                "alias": "alias2"
            },
            "reference": "reference2"
        }
    ]
}

现在我想使用 json 路径从这个 json 数据中提取基于基于条件的全名值的 "alias" 值。

我正在使用以下表达式但无法解析结果

$.primary[*].secondary[?(@.name.fullname == "fullname1")].alias

您的 JSON 格式不正确,如果它真的看起来像您发布的那样 - 您将无法使用 JSON 提取器,您将不得不切换到 Regular Expression Extractor

有效的 JSON 类似于:

{
  "primary": [
    {
      "secondary": {
        "name": {
          "fullname": "fullname1"
        },
        "alias": "alias1"
      },
      "reference": "reference1"
    },
    {
      "secondary": {
        "name": {
          "fullname": "fullname2"
        },
        "alias": "alias2"
      },
      "reference": "reference2"
    },
    {
      "type": "online"
    }
  ]
}

如果你的 JsonPath expression works fine as it evidenced by JsonPath Tester mode of the View Results Tree listener:

是正确的