Xml Grails NoClassDefFoundError:nu/xom/Serializer
我试图通过以下方式在Grails中将JSON转换为XML:Xml Grails NoClassDefFoundError:nu/xom/Serializer,xml,json,grails,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 )
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)
我以前从未遇到过这样的事情。我不是导入了所有必需的类吗?我已将jar导入我的/lib
文件夹,并运行grails compile--refresh dependencies
。我还需要再跑一步吗
我对转换JSON/maps->XML/strings的其他方法持开放态度,但这个问题似乎应该很容易解决。您可以使用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>
条
酒吧
您可以使用grails.converter来完成以下任务:
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>
条
酒吧
问题不在于json-lib.jar,而在于缺少的问题不是json-lib.jar,而是缺少的+1,我应该在问题中提到这一点,但是有没有办法使用键作为节点名?ie吧?看看这些链接,可能会对你有所帮助:我希望能有一个简单的方法调用,类似于xstream或json库。谢谢你+1,我应该在问题中提到这一点,但是有没有办法使用键作为节点名?ie吧?看看这些链接,可能会对你有所帮助:我希望能有一个简单的方法调用,类似于xstream或json库。谢谢你!