从加特林响应正文解析json列表

时间:2020-06-03 19:50:21

标签: json scala gatling stress-testing

经过测试的网站会回复以下json:

{
  results: [ 
    foo1,
    foo2,
    ...
  ]
}

我只想在“结果”键下提取列表的大小。

我知道我可以使用jsonPath提取json键,但是它返回String,我不知道如何将其读取为List:

    exec(http(requestName)
      .get("/result/${" + responseId + "}")
      .check(status is 200)
      .check(jsonPath("results").saveAs(responseId))
    )

是否可以进一步解析json以获取列表实体?

1 个答案:

答案 0 :(得分:0)

对于具有此特定用例的任何人。不需要额外的json解析,而是应该这样写:

    exec(http(requestName)
      .get("/result/${" + responseId + "}")
      .check(status is 200)
      .check(jsonPath("$").ofType[Seq[Any]].saveAs(responseBodyId)))
    )
jsonPath("path").ofType[Seq[Any]]

与Seq [Any]匹配,因此可以用来获取seq大小或进一步解析。