如何迭代json响应数组

时间:2017-06-07 10:50:36

标签: scala gatling scala-gatling

我有一个关于加特林的问题。
我需要得到以下回复:

[
{
"id": 1,
"name": "Jack"
},
{
"id": 2,
"name": "John"
} 
]

抓住这些ID,迭代它们并为每个ID发出新请求。 到目前为止,我有这个:

.exec(
            http("Image list")
                .get("/api/img")
                .headers(headers_0)
                .check(
                    jsonPath("$..id").findAll.saveAs("imgs")
                )
        )

它成功地将ids节省为" imgs"这是会话变量,但我无法迭代它们或完全处理它。

我该如何处理?我是Gatling和Scala的新手,所以我不知道如何处理这个问题。
请帮忙。

2 个答案:

答案 0 :(得分:1)

You can treat the imgs session variable as a Scala List:

val ids = session("imgs").as[List[Int]]
ids.foreach(id => ...)

An update to reflect the fact that the internal implementation is now a Vector, as OP has discovered:

val ids = session("imgs").as[Seq[Int]]

答案 1 :(得分:0)

我找到了解决方案。 唯一可能的格式是Seq。在我的情况下,这解决了问题:

val imageIds = session("imgs").as[Seq[String]]