将其他属性添加到R​​esponseBody对象

时间:2015-10-12 21:13:54

标签: java json spring-mvc

我有以下Spring @RestController方法

@RequestMapping(value = "/getPeople", method = RequestMethod.GET)
public List<Person> getPeople(Model model){
    List<People> people = personRepo.getAllPeople();
    model.addAttribute("people", people);
    return people;
}

将以下内容返回给响应主体

[
    {"name":"Jim","group":1},
    {"name":"Dwight","group":2},
    {"name":"Stanley","group":3}
]

我是否可以修改此方法(通过@Controller方法本身或使用AJAX请求)以在people数组的内部或外部包含其他属性,而无需修改{{1 object - 这样返回的对象看起来像

Person
如果这不是有效的对象/数组语法,那么

道歉,无法将它们放在一起。

2 个答案:

答案 0 :(得分:2)

您可以在JSON请求的回调中修改对象。我不熟悉d3_json,但你可以做类似的事情

callback : function(data){
   //data is the returned List<Person> serialized to JSON
   var modifiedObj = new Object();
   modifiedObj.persons = data;
   modifiedObj.extraAttributes = [{"attribute1": 1,"attribute2": 2,"attribute3":3}]
}

答案 1 :(得分:0)

我认为您正在寻找自定义JSON序列化程序,请参阅此链接: http://www.baeldung.com/jackson-custom-serialization