使用springboot创建具有空属性的对象的Json到POJO

时间:2019-05-13 00:45:23

标签: java json rest spring-boot gson

我正在制作AngularJs + SpringBoot CRUD应用程序。我可以在控制器上正确检索Json,但是当我转换为pojo时,它将获得null属性。

关于变量名拼写错误的大多数类似问题。我已经多次编写了该类并对其进行了修改。仍然不起作用。

型号:

Control

// getters / setters

控制器:

private static final long serialVersionUID = 1L;


@Id
@SerializedName("id")
private int id;
@SerializedName("name")
private String name;
@SerializedName("price")
private Long price;

public Car() {

}

public Car(int id, String name, Long price) {
    super();
    this.id = id;
    this.name = name;
    this.price = price;
}

测试输出:

Json == {“ Car”:{“ id”:3,“ name”:“ car”,“ price”:13555}}

pojo ==汽车{id:0,名称:空,价格:空}

1 个答案:

答案 0 :(得分:0)

上面的JSON对象使用字符串Car作为键和Car类型JSON对象的值,其中JSON对象具有idnameprice属性

{
  "id":3,
  "name":"car",
  "price":13555
}

因此,您需要包含Car对象的外部类

public class CarResponse {

 @SerializedName("Car")
 private Car car;

 // getters and setters 
}

然后将字符串jsonCar转换为CarResponse

CarResponse car = new Gson().fromJson(jsonCar, CarResponse.class);
 car.getCar() //get the Car object now