0

以下是我的 json 数据

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

现在我想使用 jsonpath 从这个 json 数据中提取基于条件的全名值的“别名”值。

我正在使用以下表达式但未能解析结果

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

4

1 回答 1

2

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

有效的 JSON 类似于:

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

如果正确,您的JsonPath表达式可以正常工作,因为View Results Tree 侦听器的 JsonPath Tester 模式证明了这一点:

在此处输入图像描述

于 2019-11-05T09:21:42.253 回答