You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用JSR223 PostProcessor(Groovy)生成JSON出现多余大括号求助

解决JSR223生成JSON首尾多余大括号的问题

问题根源在于你构建JSON时,将payload数组包裹在了一个Map([Extras: payload])中,而Map在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)
}

// 直接以数组作为JSON根节点,而非包裹在Map中
vars.put('payload', new groovy.json.JsonBuilder(payload).toPrettyString())

说明

  • 若你需要的是纯数组格式的JSON(比如[{"ExtraId": ...}, ...]),上述修改会直接生成数组结构,外层不再有多余大括号。
  • 若你原本就需要Extras字段的对象结构(比如{"Extras": [...]]}),那外层大括号是JSON对象的标准格式,不属于多余内容,无需修改。

内容的提问来源于stack exchange,提问作者KeshavKumar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.23 21:49:59