如何使用注释反序列化为arraylist
How to deserialize to arraylist with annotations
我需要将字符串 (json) 反序列化为模型中的数组列表。我正在使用 Jackson-Annotation 库来执行此操作。谁能帮帮我?
我已经试过了,但没有用:
@JsonDeserialize(as = Model.class)
private ArrayList<Model> model;
或:
@JsonDeserialize(as = ArrayModel.class) //ArrayModel extends arrayList<Model>
private ArrayList<Model> model;
样本:
public class Model extends BaseModel {
@JsonProperty("id")
private int id;
@JsonDeserialize(as = ModelTwo.class)
private ArrayList<ModelTwo> modelTwo;
public ArrayList<ModelTwo> getModelTwo() {
return modelTwo;
}
public void setModelTwo(ArrayList<ModelTwo> modelTwo) {
this.modelTwo = modelTwo;
}
}
我已经解决了!
你需要说出对象的类型和内容的类型。
在此之后,您需要创建一个新的 Json 并在参数上设置属性。
第一个模型:
@JsonProperty("property")
@JsonDeserialize(as=ArrayList.class, contentAs=ModelTwo.class)
private List<ModelTwo> modelsTwo;
第二个模型:
@JsonCreator
public ModelTwo(
@JsonProperty("id") int id,
@JsonProperty("name") String name) {
this.id = id;
this.name = name;
}
我需要将字符串 (json) 反序列化为模型中的数组列表。我正在使用 Jackson-Annotation 库来执行此操作。谁能帮帮我?
我已经试过了,但没有用:
@JsonDeserialize(as = Model.class)
private ArrayList<Model> model;
或:
@JsonDeserialize(as = ArrayModel.class) //ArrayModel extends arrayList<Model>
private ArrayList<Model> model;
样本:
public class Model extends BaseModel {
@JsonProperty("id")
private int id;
@JsonDeserialize(as = ModelTwo.class)
private ArrayList<ModelTwo> modelTwo;
public ArrayList<ModelTwo> getModelTwo() {
return modelTwo;
}
public void setModelTwo(ArrayList<ModelTwo> modelTwo) {
this.modelTwo = modelTwo;
}
}
我已经解决了!
你需要说出对象的类型和内容的类型。 在此之后,您需要创建一个新的 Json 并在参数上设置属性。
第一个模型:
@JsonProperty("property")
@JsonDeserialize(as=ArrayList.class, contentAs=ModelTwo.class)
private List<ModelTwo> modelsTwo;
第二个模型:
@JsonCreator
public ModelTwo(
@JsonProperty("id") int id,
@JsonProperty("name") String name) {
this.id = id;
this.name = name;
}