Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/EmptyTag/148.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何从JMeter中的响应准备JSON负载_Jmeter_Jmeter 5.0_Jmeter 4.0_Jmeter 3.2 - Fatal编程技术网

如何从JMeter中的响应准备JSON负载

如何从JMeter中的响应准备JSON负载,jmeter,jmeter-5.0,jmeter-4.0,jmeter-3.2,Jmeter,Jmeter 5.0,Jmeter 4.0,Jmeter 3.2,我从一个API得到响应,需要根据该响应准备有效负载。 例如,响应如下 { "data": { "total_count": 5, "userIds": [1,2,3,4,5] } 需要使负载从响应到其他API,如 { "users": [ { "user_id": 1, "invite

我从一个API得到响应,需要根据该响应准备有效负载。 例如,响应如下

    {
      "data": {
        "total_count": 5,
        "userIds": [1,2,3,4,5]
   }
需要使负载从响应到其他API,如

{
"users": [
      {
        "user_id": 1,
        "invite_amount": 100,
      },
      {
        "user_id": 2,
        "invite_amount": 100
      },
      {
        "user_id": 3,
        "invite_amount": 100
      },
      {
        "user_id": 4,
        "invite_amount": 100
      },
      {
        "user_id": 5,
        "invite_amount": 100
      }
    ]
}
上面的有效负载需要发送到另一个API查看链接

基本上,您需要使用JMeter
JSON提取器

  • 作为返回上述JSON的请求的子级添加

  • 将以下代码放入“脚本”区域:

  • 就是这样,您将能够在需要时将生成的有效负载值引用为
    ${payload}

  • 更多信息:

    def userIds = new groovy.json.JsonSlurper().parse(prev.getResponseData()).data.userIds
    
    def payload = [:]
    
    def users = []
    userIds.each { userId ->
        def user = [:]
        user.put('user_id', userId)
        user.put('invite_amount', 100)
        users.add(user)
    }
    payload.put('users', users)
    
    vars.put('payload', new groovy.json.JsonBuilder(payload).toPrettyString())