杰克逊 - 展开对象

时间:2013-09-29 20:10:19

标签: java android json serialization jackson

我收到来自服务器的回复,其中包含一些其他信息。例如:

{
    "response_a" : ...,
    "some_metadata" : 1234,
    "more_metadata" : abcd
}

        or

{
    "response_b" : [...],
    "some_metadata" : 1234,
    "more_metadata" : abcd
}

“response_x”可以是自定义对象,列表或散列映射,根据请求可以有不同的名称。

有没有办法反序列化response_x ,或者使用jackson将其作为字符串?

1 个答案:

答案 0 :(得分:0)

您可以将以上JSON反序列化为Map并使用get方法检索该属性:

ObjectMapper mapper = new ObjectMapper();
MapType mapType = mapper.getTypeFactory().constructMapType(HashMap.class, String.class, Object.class);
Map<String, Object> result = mapper.readValue(json, mapType);
Object responseX = result.get("response_x");