如何在将JSON字符串转换为Java对象时忽略特定的JSON字段?
我有以下json数据作为来自数据库的响应,我需要将其映射到我的JavaPOJO Json响应: 波乔如何在将JSON字符串转换为Java对象时忽略特定的JSON字段?,java,json,jackson,Java,Json,Jackson,我有以下json数据作为来自数据库的响应,我需要将其映射到我的JavaPOJO Json响应: 波乔 Class车辆{ 字符串媒体; 清单车; } 班车{ 私营公司; 私人色彩; } 我正在使用Jackson进行反序列化,它将json绑定到Java对象,但是附加的 野战卡利斯特给出了一个错误。我希望在绑定时避免使用“CarList”字段(json字符串到JavaPOJO) 我想知道一种实现这一目标的方法。或者任何建议都很好。也许它没有那么干净。但是,如果您想避免在pojo中使用此carList
Class车辆{
字符串媒体;
清单车;
}
班车{
私营公司;
私人色彩;
}
我正在使用Jackson进行反序列化,它将json绑定到Java对象,但是附加的
野战卡利斯特给出了一个错误。我希望在绑定时避免使用“CarList”字段(json字符串到JavaPOJO)
我想知道一种实现这一目标的方法。或者任何建议都很好。也许它没有那么干净。但是,如果您想避免在pojo中使用此
carList
字段,可以执行以下操作:
您可以提供setter方法并设置实际需要的字段
@JsonProperty("carList")
public void setCarList(Map<String, List<Car>> cars) {
this.car = cars.get("carList");
}
@JsonProperty(“carList”)
公共车辆管理员(地图车){
this.car=cars.get(“carList”);
}
实际上,您不想忽略CarList
字段,而是想自动“展开”它
为此,您可能需要一个包装器类:
public class CarList {
private final List<Car> car;
@JsonCreator
public CarList(@JsonProperty("car") List<Car> car) {
this.car = car == null ? Collections.emptyList() : Collection.unmodifiableList(car);
}
...
}
public-class-CarList{
私家车;
@JsonCreator
公共卡利斯特(@JsonProperty(“car”)列表car){
this.car=car==null?Collections.emptyList():Collection.unmodifiableList(car);
}
...
}
然后
公共级车辆{
私人媒体;
私家车;
@JsonCreator
公共CarList(@JsonProperty(“travelMedium”)字符串travelMedium,
@JsonProperty(“卡利斯特”)卡利斯特(卡利斯特){
this.travelmedia=travelmedia;
this.car=carList==null?Collections.emptyList():Collection.unmodifiableList(carList.getCar());
}
...
}
您可能必须将其读作地图
,然后将其强制转换。你可以测试一下。卡利斯特的错误是什么?您也知道,私人公司;专用颜色
语法不正确您缺少数据类型
@JsonProperty("carList")
public void setCarList(Map<String, List<Car>> cars) {
this.car = cars.get("carList");
}
public class CarList {
private final List<Car> car;
@JsonCreator
public CarList(@JsonProperty("car") List<Car> car) {
this.car = car == null ? Collections.emptyList() : Collection.unmodifiableList(car);
}
...
}
public class Vehicle {
private final String travelMedium;
private final List<Car> car;
@JsonCreator
public CarList(@JsonProperty("travelMedium") String travelMedium,
@JsonProperty("CarList") CarList carList) {
this.travelMedium = travelMedium;
this.car = carList == null ? Collections.emptyList() : Collection.unmodifiableList(carList.getCar());
}
...
}