Spring boot 如何在Spring Boot中自定义自定义对象的JSON序列化
我有一个Spring boot 如何在Spring Boot中自定义自定义对象的JSON序列化,spring-boot,Spring Boot,我有一个MapResult和TestController,如下所示 //mapreult.java 公共类MapResult(){ //地图保存了我需要的数据 私有映射映射=新的HashMap(); 公共void属性(字符串名称、对象值){ map.put(名称、值); 归还这个; } //…其他方法和属性 } //TestController.java @GetMapping(“/test”) MapResult测试(){ 返回新的MapResult().prop(“名称”、“AAA”).pr
MapResult
和TestController
,如下所示
//mapreult.java
公共类MapResult(){
//地图保存了我需要的数据
私有映射映射=新的HashMap();
公共void属性(字符串名称、对象值){
map.put(名称、值);
归还这个;
}
//…其他方法和属性
}
//TestController.java
@GetMapping(“/test”)
MapResult测试(){
返回新的MapResult().prop(“名称”、“AAA”).prop(“年龄”,20岁);
}
如何以
{“name”:“AAA”,“age”:20}的格式获得响应/test
?您可以尝试使用。不要直接返回MapResult,而是从MapResult中创建一个新的ResponseEntity,并使控制器返回该响应实体。下面是具有Map属性的TestModel
public class TestModel {
private Map<String, Object> map = new HashMap<>();
public void prop(String name, Object value){
map.put(name, value);
return;
}
public Map<String, Object> getProp(){
return map;
}
}
公共类测试模型{
私有映射映射=新的HashMap();
公共void属性(字符串名称、对象值){
map.put(名称、值);
返回;
}
公共地图getProp(){
返回图;
}
}
并从上面的类从下面的控制器调用map
@RestController
public class DummyController {
@GetMapping("/test")
public Map<String, Object> test() {
TestModel t = new TestModel();
t.prop("name", "AAA");
t.prop("age", 20);
return t.getProp();
}
}
@RestController
公共类DummyController{
@GetMapping(“/test”)
公共地图测试(){
TestModel t=新的TestModel();
t、 道具(“名称”、“AAA”);
t、 道具(“年龄”,20岁);
返回t.getProp();
}
}
然后在调用/test之后,它将给您结果{“name”:“AAA”,“age”:20}。是否有特定的需要,因为您已经创建了包装类mapreult
?