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

如何在Groovy脚本中拼接JSON对象属性为指定格式字符串?

Groovy 拼接 JsonSlurper 解析后的对象属性字符串

你遇到的问题核心是没有遍历JSON数组中的单个对象,直接对整个数组操作自然无法得到预期结果。以下是正确的实现代码:

import groovy.json.JsonSlurper

// 定义目标JSON字符串
def jsonContent = '''
[ 
  { 
    "product": "banana", 
    "from": "India", 
    "price": "42" 
  }, 
  { 
    "product": "orange", 
    "color": "Spain", 
    "price": "5" 
  } 
]
'''

// 解析JSON数组
def jsonArray = new JsonSlurper().parseText(jsonContent)

// 遍历每个对象,拼接成指定格式的字符串
def formattedStrings = jsonArray.collect { item ->
    // 兼容第二个对象的属性名差异(实际是color而非from),如果是笔误可直接替换为item.from
    "${item.product}-${item.from ?: item.color}-${item.price}"
}

// 输出结果
formattedStrings.each { println it }

关键说明:

  • jsonArray是解析后的数组对象,必须通过collect遍历数组内的单个JSON对象,才能对每个对象的属性进行拼接操作。
  • 第二个JSON对象的属性名是color而非from,如果是输入笔误,直接把item.from ?: item.color替换为item.from即可;如果是实际场景存在键名差异,这个写法可以优先取from,不存在时自动取color。
  • 使用Groovy的字符串插值"${}"能更简洁高效地完成属性拼接,避免传统字符串拼接的繁琐语法。

运行代码后会输出预期结果:

banana-India-42
orange-Spain-5

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.30 19:36:00