如何解决使用 JSR223 预处理器在 Jmeter 上创建带有变量形式 csv的数组 Json 对象
我对脚本很陌生。我已经搜索了很长时间,但在这一点上被卡住了。 我正在尝试使用 csv 文件中的变量在 Jmeter JSR223 预处理器上创建一个 json 数组,以便在 Jmeter 上发布。
json结构为;
[
{
"id": "${FacId}","name": "${Name}","type": "Facility"
}
]
我可以从 csv 读取变量并使用;
def builder = new groovy.json.JsonBuilder()
@groovy.transform.Immutable
class BSO{
String id
String name
}
def units = new File("/Users/gulcei/Documents/TPTest/test.csv")
.readLines()
.collect { line ->
new BSO (line.split(",")[0],line.split(",")[1]) }
builder(
units.collect(),type: "Facility"
)
log.info(builder.toPrettyString())
vars.put("payload",builder.toPrettyString())
但是其余的值不在数组中,它返回为;
[
{
"type": "Facility"
},[
{
"id": "id1","name": "Facility1"
},{
"id": "id2","name": "Facility2"
}
]
]
[
{
"id": "${FacId}","type": "Facility","location": {
"latitude": 0,"longitude": 0
}
}
]
你能帮我处理一下吗。
提前致谢...
解决方法
我从朋友那里得到了一些帮助,现在我的问题解决了。这是代码以防其他人需要它;
class BSO{
String id
String name
Location location
String type
BSO(id,name){
this.id=id
this.name=name
this.location=new Location()
this.type="Facility"
}
}
class Location{
int latitude = 0
int longitude = 0
}
def builder = new groovy.json.JsonBuilder()
def units = new File("/Users/Documents/Test/test.csv")
.readLines()
.collect { line ->
new BSO (line.split(",")[0],line.split(",")[1])}
builder(
units.collect()
)
log.info(builder.toPrettyString())
vars.put("payload",builder.toPrettyString())
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。