Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/15.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
如何从使用JSON提取器提取的多个值中为每个请求使用一个值_Json_Jmeter - Fatal编程技术网

如何从使用JSON提取器提取的多个值中为每个请求使用一个值

如何从使用JSON提取器提取的多个值中为每个请求使用一个值,json,jmeter,Json,Jmeter,使用JSON提取器,从响应体中提取多个值。 调试采样器->For eg显示这3个值 ID\u 1=212 ID_2=211 ID_3=225 如何在下一个HTTP Post请求中使用其中的每一个?比如如何为每次运行使用一个值 请求后机构 {“id”={$id}}->不起作用。 但是,{“id”={$id_1}}、{“id”={$id_2}、{“id”={$id_3}}可以单独工作。我希望避免每次都手动更改POST body请求。在JSON提取器之后添加一个右键(在同一级别,作为第一个请求的子项)

使用JSON提取器,从响应体中提取多个值。 调试采样器->For eg显示这3个值
ID\u 1=212
ID_2=211
ID_3=225

如何在下一个HTTP Post请求中使用其中的每一个?比如如何为每次运行使用一个值

请求后机构
{“id”={$id}}->不起作用。

但是,
{“id”={$id_1}}、{“id”={$id_2}、{“id”={$id_3}}
可以单独工作。我希望避免每次都手动更改POST body请求。

在JSON提取器之后添加一个右键(在同一级别,作为第一个请求的子项),并在代码区域中使用下面的代码

int matchNr = Integer.parseInt(vars.get("ID_matchNr"));// ID is the reference name of your JSON Extractor

String ID = "";
for(int i = 1; i <= matchNr; i++){
    if(i == 1){
     ID = "{\"id\"=" + vars.get("ID_" + i) + "}, ";
    }

    else if(i == matchNr){
     ID = ID + "{\"id\"=" + vars.get("ID_" + i) + "}";
    }

    else{
         ID = ID + "{\"id\"=" + vars.get("ID_" + i) + "}, ";
    }

    vars.put("IDs", ID);
}
int-matchNr=Integer.parseInt(vars.get(“ID_-matchNr”);//ID是JSON提取器的引用名称
字符串ID=“”;
对于(inti=1;i在代码区域中添加一个JSON提取器(与第一个请求的子级处于同一级别),代码如下

int matchNr = Integer.parseInt(vars.get("ID_matchNr"));// ID is the reference name of your JSON Extractor

String ID = "";
for(int i = 1; i <= matchNr; i++){
    if(i == 1){
     ID = "{\"id\"=" + vars.get("ID_" + i) + "}, ";
    }

    else if(i == matchNr){
     ID = ID + "{\"id\"=" + vars.get("ID_" + i) + "}";
    }

    else{
         ID = ID + "{\"id\"=" + vars.get("ID_" + i) + "}, ";
    }

    vars.put("IDs", ID);
}
int-matchNr=Integer.parseInt(vars.get(“ID_-matchNr”);//ID是JSON提取器的引用名称
字符串ID=“”;

对于(inti=1;i,您可以根据需要为每个循环使用。请检查jmeter。 ForEach的第一个示例jmx可以满足您的需求。 在reqEx下面获取所有。然后forEach将所有正则表达式作为“inputVar”中的输入,并使用returnVar获取它。将returnVar传递给下一个请求,即HTTP 2。


希望这对您有所帮助。

您可以根据自己的需求为每个循环使用。请检查jmeter。 ForEach的第一个示例jmx可以满足您的需求。 在reqEx下面获取所有。然后forEach将所有正则表达式作为“inputVar”中的输入,并使用returnVar获取它。将returnVar传递给下一个请求,即HTTP 2。

希望这有帮助