如何将值输入 Gatling 中 json 数组中的字段?

How to feed a value into a field in a json array in Gatling?

我正在使用 Gatling 来测试接受 json 主体的 API,如下所示:

{
 "data": {
      "fields": [
        {
          "rank": 1
        },
        {
          "name": "Jack"
        }
       ]
    }
 }

我创建了一个文件 feeder.json,其中包含 json 对象数组,如上所示。 下面是 feeder.json

[
 {
 "data": {
      "fields": [
        {
          "rank": 1
        },
        {
          "name": "Jack"
        }
       ]
    }
 }
]

我创建了另一个文件 template.txt,其中包含上述 json 的模板。 下面是 template.txt

{
 "data": {
      "fields": [
         {
          "rank": ${data.fields[0].rank}     //this is not working
        },
        {
          "name": "Jack"
        }
       ]
    }
 }
val jsonFeeder = jsonFile("feeder.json").circular
scenario("Test scenario")
      .feed(jsonFeeder)
      .exec(http("API call test")
       .post("/data")
       .body(ElFileBody("template.txt"))
       .asJson
       .check(status is 200))

我正在喂 feeder.json 并且还从 template.json 发送 json 正文。 'rank' 属性 值应该从进纸器设置到 json 正文中。但是我收到一个错误“名为 'data' 的地图不包含密钥 'fields[0]'”。坚持这个。

Access by index syntax uses parens, not square braces.

#{data.fields(0).rank}