我有以下类,我想序列化为json,然后作为对象返回:
public class CustomerKeys2 {
protected JAXBElement<String> customerIdPub;
//getter & setter
}
我的序列化/反序列化代码如下
CustomerKeys2 customerKeys = new CustomerKeys2();
//getJaxbString just get a JAXBElement<String> from a regular String
customerKeys.setCustomerIdPub(getJaxbString("CustomerIdPub"));
Gson gson = new Gson();
String jsonString = gson.toJson(customerKeys);
CustomerKeys2 obj2 = gson.fromJson(jsonString, CustomerKeys2.class);
最后一行(gson.fromjson)抛出错误:
java.lang.RuntimeException: Unable to invoke no-args constructor for java.lang.Class<java.lang.String>. Register an InstanceCreator with Gson for this type may fix this problem.
这是因为customeridpub的类型是jaxbelement,而不仅仅是常规字符串。问题是我不能修改customerkeys2类。它是一个外部jar的一部分,我必须使用它作为它。
我已经尝试了其他库(flexjson,jackson…),但出现了相同的错误。
有解决办法吗?
暂无答案!
目前还没有任何答案,快来回答吧!