Как преобразовать json-фидер Gatling с вложенными структурами в тело запроса json?

#json #scala #gatling #scala-gatling

Вопрос:

У меня есть устройство подачи json, считывающее из файла массив json, подобный этому:

 [{ "a": {"b": 1} }, { "a": {"b": 2} }]

 

Когда я использую его для тела запроса, он отправляется как ArraySeq(HashMap(.. бы вместо фактического json. Как я могу преобразовать проанализированный Json обратно в Json, сохраняя подход подачи?

 val jsonFileFeeder = jsonFile("requests.json").circular

val scn = scenario("cost estimation")
  .feed(jsonFileFeeder)
  .exec(
    http("request_1")
      .post("/")
      .body(StringBody(
        """{
    "a":  "${a}"
}"""
      )).asJson
  )

 

Ответ №1:

Используйте jsonStringify() , см. документацию.

 val jsonFileFeeder = jsonFile("requests.json").circular

val scn = scenario("cost estimation")
  .feed(jsonFileFeeder)
  .exec(
    http("request_1")
      .post("/")
      .body(StringBody(
        """{
    "a":  "${a.jsonStringify()}"
}"""
      )).asJson
  )