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

Groovy操作JSON:删除外层节点后追加新根节点实现格式转换

Groovy 实现代码

你可以直接用 Groovy 内置的 JSON 处理工具完成需求,无需引入第三方依赖,示例代码如下:

import groovy.json.JsonSlurper
import groovy.json.JsonBuilder

// 原始JSON字符串,也可以替换为从文件、接口读取的原始内容
def rawJsonStr = '''
{
  "Association_1": {
    "Price": 71.4,
    "Branch": "600001",
    "Item": "BB101",
    "UOM": "CS"
  },
  "Association_2": {
    "Price": 3.88,
    "Branch": "600001",
    "Item": "BB101",
    "UOM": "LB"
  },
  "Association_3": {
    "Price": 17.85,
    "Branch": "600001",
    "Item": "BB101",
    "UOM": "PC"
  }
}
'''

// 解析原始JSON为Map对象
def rawJson = new JsonSlurper().parseText(rawJsonStr)

// 过滤匹配键并提取值组装为目标结构
def targetJson = new JsonBuilder([
    Pricing: rawJson.entrySet()
            .findAll { it.key.startsWith('Association_') }
            .collect { it.value }
])

// 输出格式化后的目标JSON
println targetJson.toPrettyString()

补充说明

  • 代码中的findAll过滤逻辑可以避免原始JSON存在其他无关键时被误处理,适配性更强
  • 如果需要压缩格式的JSON用于接口传输,把toPrettyString()替换为toString()即可

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.09 17:30:04