我有一个JSON字符串,该字符串被反序列化为RList类型的对象。但是,在RList中,有一个类型的对象数组,如RInteger,RDouble等。所有这些类型都实现了接口RDatatype。反序列化此列表时,它将JSON反序列化为RList,但不反序列化列表中的对象。它将这些对象作为地图。这是反序列化的代码:
public RDatatype deserialize(String json) throws JsonParseException,
JsonMappingException, IOException {
RDatatype obj = mapper.readValue(json, RList.class);
return obj;
}
这里的测试用例失败了:
public void testDeSerialize() throws JsonParseException, JsonMappingException, IOException {
RDatatype obj = new RList();
RList test = new RList();
obj = test.deserialize("{\"value\":[{\"value\":5,\"type\":\"Integer\"},{\"value\":6.4,\"type\":\"Double\"}],\"type\":\"List\"}");
List<RDatatype> l = (List<RDatatype>) obj.getValue();
for (int i=0; i<l.size(); i++) {
System.out.println(l.get(i));
}
assertTrue(true);
}
如果您需要更多信息,请与我们联系。感谢。