日期:2014-05-20  浏览次数:20832 次

使用JSON跟XML相互报错java.lang.NoSuchMethodError 求解!!!
1.json转XML:
public static String json2xml(String jsonString){
XMLSerializer xmlSerializer = new XMLSerializer();
return xmlSerializer.write(JSONSerializer.toJSON(jsonString));
// return xmlSerializer.write(JSONArray.fromObject(jsonString));//这种方式只支持JSON数组
}
错误:
java.lang.NoSuchMethodError: net.sf.json.xml.XMLSerializer.write(Lnet/sf/json/JSON;)Ljava/lang/String;

2.XML转JSON:
  public static String getJSONFromXml(String xmlString) {  
XMLSerializer xmlSerializer = new XMLSerializer();  
JSON json = xmlSerializer.read(xmlString);  
return json.toString();  
}  
错误:
java.lang.NoSuchMethodError: net.sf.json.xml.XMLSerializer.read(Ljava/lang/String;)Lnet/sf/json/JSON;

所引用的JAR包有:
json-lib-2.4-jdk15.jar

ezmorph-1.0.6.jar

xom-1.1.jar

commons-lang-2.4.jar

commons-io-1.4jar

jaxen-1.1.jar

jsonrpc-1.0.jar

morph-1.1.1.jar

还需要jar么,还是jar包之间所引起的冲突呢??求解!!!




------解决方案--------------------
应该是Classpath路径问题,或者是引用了不该应用的类,导致方法失效。建议重新整理一下引入的jar包,重新设定Classpath搜索路径。
------解决方案--------------------
节点不匹配就会报这个错误。