使用Jackson去除对象列表

时间:2014-06-10 15:19:20

标签: java jackson

我有一个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);
}

如果您需要更多信息,请与我们联系。感谢。

0 个答案:

没有答案