【发布时间】:2016-03-03 11:25:07
【问题描述】:
我一直在开发一个控制器,我想在其中返回 json 字符串作为响应。但问题是,我想在序列化/反序列化期间更改一些字段名称,但我不想在我的实体对象上使用丑陋的注释。
让我们说
@Controller
@RequestMapping("/kfc/brands")
public class JSONController {
@RequestMapping(value="{name}", method = RequestMethod.GET)
public @ResponseBody Shop getShopInJSON(@PathVariable String name) {
Shop shop = new Shop();
shop.setName(name);
shop.setStaffNames(new String[]{"mkyong1", "mkyong2"});
return shop;
}
}
public class Shop {
String name;
String staffNames[];
String location;
//getter and setter methods
}
我希望控制器在不使用任何注释的情况下返回 staffNames as staff_names 、 location as address。
我认为必须有一个自定义对象映射器结构,但找不到合适的例子。我在序列化代码中手动设置字段名称没有问题。
PS:示例取自mkyong
【问题讨论】:
标签: java json spring-mvc serialization