【问题标题】:Jmeter : How to extract first element from json arrayJmeter:如何从json数组中提取第一个元素
【发布时间】:2017-05-10 19:40:24
【问题描述】:

我正在尝试从 json 数组中提取第一个元素。下面提到的是json数组

   [
    {
        "cohortDefinition": {
            "Key": 1151,
            "id": 1798,
            "srcId": "3526",
            "pcKey": -1,
            "userName": "CHROME_USER",
            "name": "JMeter2017-01-06-1483749546167",
            "Type": "SUBJECT",
            "tool": "CB",
            "count": 32757,
            "extractionStatus": "",
            "dateCreated": "2017-05-10T17:48:45Z"
        },
        "datasource": {
            "id": 2,
            "name": "health",
            "subjectCount": 116352
        },
        "project": {
            "id": 747,
            "name": "Jmeter Project"
        }
    },
    {
        "cohortDefinition": {
            "Key": 1150,
            "id": 1796,
            "srcId": "3525",
            "pcKey": -1,
            "userName": "CHROME_USER",
            "name": "JMeter2016-10-27-1477620919644",
            "Type": "SUBJECT",
            "tool": "CB",
            "count": 32757,
            "extractionStatus": "",
            "dateCreated": "2017-05-10T16:57:11Z"
        },
        "datasource": {
            "id": 2,
            "name": "health",
            "subjectCount": 116352
        },
        "project": {
            "id": 747,
            "name": "Jmeter Project"
        }
    }
]

我想从上面的 json 中提取第一个值,即。 srcId”:“3526”。 我尝试在 Jmeter 提取器中做以下表达式

$..cohortDefinition.srcId[1]

但是它不起作用。如果有人知道如何做到这一点,请告诉我。

【问题讨论】:

  • JSON Path Extractor 中使用$..cohortDefinition.srcIdmyVar_1 将拥有第一个 srcId
  • 我试过这个选项。这导致 3526 和 3525
  • 是的。您需要在测试计划中使用myVar_1,它将首先检索srcId
  • 请检查这张图片imgur.com/a/rzA8pimgur.com/a/8rFfd
  • 这行得通。非常感谢纳文

标签: jmeter


【解决方案1】:

JMeter 3.0之后,可以使用JSON Extractor,见:

在 JMeter 3.0 之前:

请按照以下步骤检索srcId

  1. 在您的请求中添加JSON Path Extractor 并配置以下值。

目标变量名称 - myVar

JSON 路径表达式 - $..cohortDefinition.srcId - 这将从 JSON 中提取所有 srcID。

默认值 - Not FoundErr

  1. Debug SamplerView Results Tree 添加到您的测试计划中。

  2. 保存并执行。

  3. Debug Sampler,可以查看所有srcId,如下图。

您现在可以在测试计划中使用 myVar_1myVar_2 使用${myVar_1}${myVar_2}

【讨论】:

    【解决方案2】:

    不需要插件,JMeter 有一个JSON Extractor 将提供此功能:

    注意:

    JSON 路径表达式为:$..cohortDefinition.srcId

    比赛编号:1

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-04-08
      • 1970-01-01
      • 1970-01-01
      • 2014-03-25
      • 2022-01-16
      • 1970-01-01
      • 2015-11-22
      • 2011-03-19
      相关资源
      最近更新 更多