【发布时间】:2012-05-04 19:33:30
【问题描述】:
我正在使用抽象类将我的模型本地化为不同的语言。这是我设置的继承链:
//Base model, contains localized fields
public class Restaurant extends LocalizedModel<LocalizedRestaurantData>{
...
}
//Abstract class to support localized fields for all my models
@XmlRootElement
public abstract class LocalizedModel<T extends LocalizedData> {
private T en;
public T getEn() {
return en;
}
public void setEn(T en) {
this.en = en;
}
...
}
//Implementation of the localized fields for the restaurant class.
@XmlRootElement
public class LocalizedRestaurantData extends LocalizedData{
protected String name;
protected String address;
...
}
这在我的 Jersey JSON Web 服务中一切正常,除了一件事:本地化属性 en 的所有实例都包含一个额外的字段 type:
RestaurantJSON:
{
"en": {
"type": "localizedRestaurantData",
"address": "1234 Main St.",
"name": "Tacos Folie"
},
...
}
这个type 字段是不受欢迎和不受欢迎的,尤其是因为杰克逊在解析对象时似乎也需要它。我在代码中添加了@JsonIgnoreProperties({"type"}),但没有成功。
【问题讨论】:
标签: json jaxb jersey jax-rs jackson