我尝试了一个具有 ArrayList 的类的简单示例。见下文:
class EmployeeList {
List<String> departmentNames = new ArrayList<String>();
public EmployeeList(String dept1, String dept2) {
super();
departmentNames.add(dept1);
departmentNames.add(dept2);
}
public String toString()
{
return "EMPLOYEELIST DETAILS : " + departmentNames.toString();
}
}
现在,我正在尝试将 EmployeeList 类型的对象转换为 JSON 字符串,然后使用 jettison 转换回对象。
EmployeeList employeeList1 = new EmployeeList("IT","FINANCE");
XStream xstreamWriteEmployeeList = new XStream(new JettisonMappedXmlDriver());
xstreamWriteEmployeeList.alias("employee", EmployeeList.class);
String jsonStringEmployeeList = xstreamWriteEmployeeList.toXML(employeeList1);
XStream xstreamReadEmployeeList = new XStream(new JettisonMappedXmlDriver());
xstreamReadEmployeeList.alias("employee", EmployeeList.class);
EmployeeList employeeList2 = (EmployeeList)xstreamReadEmployeeList.fromXML(jsonStringEmployeeList);
我已经尝试过并且它正在我的本地系统上运行,但是当我尝试在我的应用程序服务器上部署时,它给出了一个错误。
java.lang.NoSuchMethodError: org.codehaus.jettison.AbstractXMLStreamWriter.getSerializedAsArrays()Ljava/util/ArrayList;
任何想法为什么?我在本地系统和应用程序服务器上使用相同的 java 版本。