【发布时间】:2013-11-27 04:24:43
【问题描述】:
假设我有一个 JSON 对象层次结构,如下所示:
{
"name": "Mosquito Laser",
"configurations": [{
"currency": "USD",
"price": "10.00" /* the Basic option */
}, {
"currency": "USD",
"price": "50.00" /* the Pro option */
}, ]
}
我想将此 json 反序列化为 java 对象,并将其展平为单个级别。所以举个例子,我想把上面的json映射成下面的java类:
@JsonIgnoreProperties(ignoreUnknown = true)
public class Product {
@JsonProperty
protected String name;
protected String lowestPrice;
protected String highestPrice;
}
我想使用自定义方法从 json 中的配置列表中计算 lowestPrice 和 highestPrice 字段。假设为了清楚起见,这里已经简化了 json 层次结构和 java 对象,而实际上它们实际上要复杂得多,因此我不希望实现完全自定义的反序列化器。我希望使用 Jackson 的数据绑定默认值自动反序列化大多数字段,但我想为某些字段指定自定义操作。
有没有一种简单的方法可以告诉 Jackson 使用特殊方法自动计算 lowestPrice 和 highestPrice 字段的值?
【问题讨论】: