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

如何在Groovy中使用jsonSlurperClassic将XML转换为JSON

报错原因

unable to resolve class JSONObject 报错是因为你没有导入对应类的依赖:JSONObject和你调用的XML.toJSONObject方法都属于org.json第三方工具包,Groovy默认运行环境没有内置该依赖,也没有自动导入相关类。
另外你当前代码没有实现用JsonSlurperClassic处理转换结果的需求。

修复方案

  1. 用@Grab注解引入org.json依赖,补充对应类的导入声明
  2. 补充JsonSlurperClassic解析逻辑即可

完整运行代码

// 拉取org.json依赖
@Grab('org.json:json:20240303')
// 导入所需类
import org.json.JSONObject
import org.json.XML
import groovy.json.JsonSlurperClassic

def xml = '''
<path>
    <testdata>
        <item>
            <resourceURI>https://localhost/version/</resourceURI>
            <relativePath>/test/folder/version/</relativePath>
            <text>version</text>
            <leaf>false</leaf>
            <lastModifiedtest>2021-07-03</lastModifiedtest>
            <sizeOnDisk>-1</sizeOnDisk>
        </item>
    </testdata>
</path>
'''

// XML转JSON对象
JSONObject jsonObj = XML.toJSONObject(xml)
// 格式化打印JSON字符串
println jsonObj.toString(4)

// 按需求用JsonSlurperClassic解析JSON
def slurper = new JsonSlurperClassic()
def parsedData = slurper.parseText(jsonObj.toString())
// 测试访问节点
println "提取到的resourceURI:${parsedData.path.testdata.item.resourceURI}"

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 12:39:00