xml - Grails NoClassDefFoundError:nu/xom/Serializer

标签 xml json grails

我试图通过以下方式在Grails中将JSON转换为XML:

import net.sf.json.JSONObject
import net.sf.json.xml.XMLSerializer
...

String convertToXmlString(jsonString) {
    JSONObject json = JSONObject.fromObject(jsonString)
    String xml = new XMLSerializer().write( json )

    return xml
}

但是当我尝试运行代码时,出现异常:
Caused by: java.lang.ClassNotFoundException: nu.xom.Serializer
    at org.codehaus.groovy.tools.RootLoader.findClass(RootLoader.java:156)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
    at org.codehaus.groovy.tools.RootLoader.loadClass(RootLoader.java:128)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:247)

我以前从未遇到过这样的事情。我不是要导入所有必需的类吗?我已将json-lib jar导入到/lib文件夹中,然后运行grails compile --refresh-dependencies。我还需要执行其他步骤吗?

我对转换JSON / map -> XML /字符串然后返回的其他方式持开放态度,但是这个问题似乎应该很容易解决。

最佳答案

您可以使用grails.converters完成此操作:

import grails.converters.JSON
import grails.converters.XML

def o = JSON.parse("{ foo: 'bar' }") // creates a JSONObject
def x = o as XML // creates an XML
println x
def s = x as String // create the String representing the XML
println s

结果将如下所示:
<?xml version="1.0" encoding="UTF-8"?><map><entry key="foo">bar</entry></map>
<?xml version="1.0" encoding="UTF-8"?><map><entry key="foo">bar</entry></map>

关于xml - Grails NoClassDefFoundError:nu/xom/Serializer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13277434/

相关文章:

java - 使用单例成员/值参数配置原型(prototype) bean

mysql - JSON JSON_EXTRACT 与 MySQL

multithreading - 在 Grails 服务中管理线程

grails - Grails Spring Security插件:直接从 Controller 登录

excel - Grails Excel导入超链接

xml - 当我尝试运行 xml 文件时,浏览器向我显示消息加载样式表时出错 : Failure analysis XSLT stylesheet

php - 什么是 "Payload"?例如 XML 负载

java - Xpath 1 (dom4j) - 连接多个节点的文本值

javascript - 从节点返回的 json 中的斜线

javascript - 将行追加到 JSON