jmeter Считывание Json данных из файла с использованием JSR223, преобразование фигурных скобок в квадратные скобки - PullRequest
1 голос
/ 08 января 2020

Я использую jmeter 5.1 в windows 10, в моем плане тестирования jmeter я читаю json данные из файла, после чтения я использую log.info $ {sdata} для регистрации сообщений, но вывод преобразует скобки {в квадратные скобки [, может кто-нибудь сказать мне, что не так.

Ниже приведены данные, которые содержит файл json

{"name":"Foo Bar","year":"2018","timestamp":"2018-03-08T00:00:00","tags":["person","employee"],"grade":3.14}

{
    "name": "Foo Bar",
    "year": "2018",
    "timestamp": "2018-03-08T00:00:00",
    "tags": [
        "person",
        "employee"
    ],
    "grade": 3.14
}

Ниже приведена строка, которая у меня есть в препроцессоре JSR223 для чтения файла и его регистрации в файле info

def sdata = new groovy.json.JsonSlurper().parseText(new File("data.json").text)
log.info "$sdata"

И ниже вывод log.info

["name":"Foo Bar","year":"2018","timestamp":"2018-03-08T00:00:00","tags":["person","employee"],"grade":3.14]

[
    "name": "Foo Bar",
    "year": "2018",
    "timestamp": "2018-03-08T00:00:00",
    "tags": [
        "person",
        "employee"
    ],
    "grade": 3.14
]

В приведенном выше выводе фигурные скобки {заменены на квадратная скобка [

Пожалуйста, помогите

1 Ответ

1 голос
/ 08 января 2020

Это происходит потому, что вы в основном печатаете текстовое представление LazyMap

Если вы хотите видеть тот же JSON, что и во вводе, вы должны создать JsonBuilder экземпляр класса и передача ему объекта "slurped".

Измените эту строку:

log.info "$sdata"

на эту:

log.info(new groovy.json.JsonBuilder(sdata).toPrettyString())

Дополнительная информация:

...