我正在使用jackson来反序列化一个json数据。我正在使用objectmapper对数据进行反序列化,并希望使用mapper.configure(DeserializationConfig.Feature.FAIL_ON_UNKNOWN_PROPERTIES, false);
忽略未知属性
在Jackson中有没有一种方法可以指定我想要反序列化的元素的开始?我的JSON数据中还有一些元素,但我只对要反序列化的一些元素感兴趣。
发布于 2011-06-10 16:59:26
对象结构必须与JSON结构匹配,因此如果需要,通常只使用包装器类是最方便的。类似于:
class Response {
public Thing value;
}
class Thing {
public String name;
}
因此,即使你只是想要"name",你也可以这样做:
Response resp = mapper.readValue(jsonInput, Response.class);
String name = response.value.name;
如果是这样,您可以省略定义您不关心的属性;或者定义它们而不使用它们。
发布于 2013-02-05 06:20:41
JAXB支持通过@XmlPath(...)
将元素映射到类的XPath表达式。
不确定是否可以跳过根元素,但对于嵌套,可以使用@XmlPath(".")
内联属性。
不确定杰克逊是否支持这一点,但EclipeLink JAXB支持。
https://stackoverflow.com/questions/6298216
复制相似问题