Scala 如何从Gatling中的响应体中提取JSON

Scala 如何从Gatling中的响应体中提取JSON,scala,performance,gatling,Scala,Performance,Gatling,我使用的是Gatling,希望从响应体中提取JSON,然后在此基础上使用jsonPath。明确地说,回答是这样的: <html> <!-- usual stuff here --> <script> /* JSON I WANT TO EXTRACT */ { var1:'val1', var2:'val2' } </script> <!-- rest of HTML content --> </html> 这不是实

我使用的是Gatling,希望从响应体中提取JSON,然后在此基础上使用jsonPath。明确地说,回答是这样的:

<html>
<!-- usual stuff here -->

<script>
/* JSON I WANT TO EXTRACT */
{
var1:'val1',
var2:'val2'
}
</script>

<!-- rest of HTML content -->

</html>

这不是实际的正则表达式,但不是重点,正则表达式可以工作,我可以隔离JSON,但我真的希望在保存的“responseJSON”上使用jsonPath,不知道如何做到这一点。我也许可以用regex来完成整个过程,但是用jsonPath会更干净

您可以使用
circe
或更具体地说
circe optics
。有几个不错的例子。

在Gatling中没有任何本机的东西可以处理这个问题,但是您可以使用其他JSON scala框架之一来完成。您必须在会话函数中手动解析从.regex返回的字符串
val chain = exec(http("Homepage")
    .get("/")
      .check(regex("""myJsonRegex""").find(1).saveAs("responseJSON"))