Groovy jmeter使用JSR223从文件中读取Json数据,将大括号转换为方括号转换

Groovy jmeter使用JSR223从文件中读取Json数据,将大括号转换为方括号转换,groovy,jmeter,jsr223,Groovy,Jmeter,Jsr223,我在windows 10中使用jmeter 5.1,在我的jmeter测试计划中,我从文件中读取json数据,读取后,我使用log.info${sdata}记录消息,但输出将大括号{转换为方括号[,有人能告诉我出了什么问题吗 下面是json文件包含的数据 {"name":"Foo Bar","year":"2018","timestamp":"2018-03-08T00:00:00","tags":["person","employee"],"grade":3.14} { "name"

我在windows 10中使用jmeter 5.1,在我的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 Preprocessor中的一行代码,用于读取文件并将其记录到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
]
在上面的输出中,大括号{被替换为方括号[


请帮助

发生这种情况是因为您基本上是在打印

如果您希望看到与输入中相同的JSON,那么应该创建一个类实例并将“slurped”对象传递给它

更改此行:

log.info "$sdata"
对于这一点:

log.info(new groovy.json.JsonBuilder(sdata).toPrettyString())
更多信息:


您的文件中包含多个JSON。感谢您与我分享解决方案。这一个适用于我的JsonBuilder(sdata)。toPrettyString()