我们正在使用 JSR223 代码来使用以下代码创建 json 对象,
def mandatory = new groovy.json.JsonSlurper().parse(prev.getResponseData()).Properties.Room.Extras.findAll { extra -> extra.IsMandatory }
def payload = []
mandatory.each { extra ->
def item = [:]
item.put('ExtraId', extra.ExtraId)
item.put('OptionId', extra.Options[0].OptionId)
item.put('ExpectedNetCost', extra.Options[0].NetCost)
payload.add(item)
}
vars.put('payload', new groovy.json.JsonBuilder([Extras: payload]).toPrettyString())
我们也使用“toPrettyString”,但仍然得到一对额外的大括号(在开始和结束处)。 有人可以帮忙删除这个吗!
我已经尝试过此链接使用groovy更新json文件后,文件数据包含额外的大括号和“内容”对象
但解决方案对我不起作用。
如果您不想将生成的值作为 JSON 对象,您可以替换此行:
vars.put('payload', new groovy.json.JsonBuilder([Extras: payload]).toPrettyString())
用这一行:
vars.put('payload', new groovy.json.JsonBuilder(payload).toPrettyString())
在这种情况下,您将只有 JSON 数组,即您的输出将是:
[
{
"ExtraId": "528",
"OptionId": "712",
"ExpectedNetCost": {
"Amount": 22.0,
"Currency": "EUR"
}
},
{
"ExtraId": "529",
"OptionId": "714",
"ExpectedNetCost": {
"Amount": 20.0,
"Currency": "EUR"
}
}
]
更多信息: