我需要将字符串(json)反序列化为模型中的arraylist。我正在使用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;
}
}
答案 0 :(得分:0)
我已经解决了这个问题!
您需要说出对象的类型和内容的类型。 在此之后,您需要在params上创建一个具有属性的新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;
}