通过 Groovy HTTP 请求后,我有地图列表 我需要为每个元素添加一个新列表
after HTTP request via Groovy i have list of maps I need to add a new list to each element
在一个 HTTP Get 请求后,我创建了一个地图列表,其 ID 如下所示
for (i=0; i<response.data.size(); i++){
def tempMap = [:];
tempMap['id'] = response.id[i];
tempMap['name'] = response.name[i];
listOfMaps.add(tempMap);
}
listOfMaps=[[id:1, name:123], [id:2, name:456]]
然后我使用该 ID 执行 GET HTTP 请求以获取如下版本列表:
def myVerList = parser.parseText(response)
println(myVerList);
[[version:1.0.0, createdAt:Mon Jul 15 2019 15:51:48 GMT+0200], [version:2.0.1, createdAt:Mon Jul 15 2019 15:25:48 GMT+0200], [version:2.0.0, createdAt:Mon Jul 15 2019 14:51:48 GMT+0200], [version:1.3.0, createdAt:Mon Jul 15 2019 13:51:48 GMT+0200], [version:1.1.0, createdAt:Mon Jul 8 2019 18:22:48 GMT+0200]]
我需要将这个新列表添加到上面给定的 ID。
最终结果应该是这样的:
[
[id:1, name:123], [[version:1.0.0, createdAt:Mon Jul 15 2019 15:51:48 GMT+0200], [version:2.0.1, createdAt:Mon Jul 15 2019 15:25:48 GMT+0200], [version:2.0.0, createdAt:Mon Jul 15 2019 14:51:48 GMT+0200], [version:1.3.0, createdAt:Mon Jul 15 2019 13:51:48 GMT+0200], [version:1.1.0, createdAt:Mon Jul 8 2019 18:22:48 GMT+0200]]],
[id:2, name:456], [[version:2.0.0, createdAt:Mon Jul 15 2019 15:51:48 GMT+0200], [version:2.0.1, createdAt:Mon Jul 15 2019 15:25:48 GMT+0200], [version:2.0.0, createdAt:Mon Jul 15 2019 14:51:48 GMT+0200], [version:1.3.0, createdAt:Mon Jul 15 2019 13:51:48 GMT+0200], [version:1.1.0, createdAt:Mon Jul 8 2019 18:22:48 GMT+0200]]
]
如何在我的 JSR232 post 处理器中 Groovy 出现问题?
我试过了,但它有重复的数据
def response = prev.getResponseDataAsString();
def myJson = parser.parseText(response)
for(item in listOfMaps){
if (item["id"] == vars.get("thatId")) { item["versions"]=myJson; }
newList.add(item)
}
vars.putObject("newList",newList);
唯一的是newList有两组条目
您需要比较整数:
if (item["id"] == Integer.parseInt(vars.get("thatId"))) {
在一个 HTTP Get 请求后,我创建了一个地图列表,其 ID 如下所示
for (i=0; i<response.data.size(); i++){
def tempMap = [:];
tempMap['id'] = response.id[i];
tempMap['name'] = response.name[i];
listOfMaps.add(tempMap);
}
listOfMaps=[[id:1, name:123], [id:2, name:456]]
然后我使用该 ID 执行 GET HTTP 请求以获取如下版本列表:
def myVerList = parser.parseText(response)
println(myVerList);
[[version:1.0.0, createdAt:Mon Jul 15 2019 15:51:48 GMT+0200], [version:2.0.1, createdAt:Mon Jul 15 2019 15:25:48 GMT+0200], [version:2.0.0, createdAt:Mon Jul 15 2019 14:51:48 GMT+0200], [version:1.3.0, createdAt:Mon Jul 15 2019 13:51:48 GMT+0200], [version:1.1.0, createdAt:Mon Jul 8 2019 18:22:48 GMT+0200]]
我需要将这个新列表添加到上面给定的 ID。
最终结果应该是这样的:
[
[id:1, name:123], [[version:1.0.0, createdAt:Mon Jul 15 2019 15:51:48 GMT+0200], [version:2.0.1, createdAt:Mon Jul 15 2019 15:25:48 GMT+0200], [version:2.0.0, createdAt:Mon Jul 15 2019 14:51:48 GMT+0200], [version:1.3.0, createdAt:Mon Jul 15 2019 13:51:48 GMT+0200], [version:1.1.0, createdAt:Mon Jul 8 2019 18:22:48 GMT+0200]]],
[id:2, name:456], [[version:2.0.0, createdAt:Mon Jul 15 2019 15:51:48 GMT+0200], [version:2.0.1, createdAt:Mon Jul 15 2019 15:25:48 GMT+0200], [version:2.0.0, createdAt:Mon Jul 15 2019 14:51:48 GMT+0200], [version:1.3.0, createdAt:Mon Jul 15 2019 13:51:48 GMT+0200], [version:1.1.0, createdAt:Mon Jul 8 2019 18:22:48 GMT+0200]]
]
如何在我的 JSR232 post 处理器中 Groovy 出现问题?
我试过了,但它有重复的数据
def response = prev.getResponseDataAsString();
def myJson = parser.parseText(response)
for(item in listOfMaps){
if (item["id"] == vars.get("thatId")) { item["versions"]=myJson; }
newList.add(item)
}
vars.putObject("newList",newList);
唯一的是newList有两组条目
您需要比较整数:
if (item["id"] == Integer.parseInt(vars.get("thatId"))) {