将Map键、值对转换为@responseBody对象的JSON属性



我想知道这是否可以实现。我有一个简单的春季服务:

public @ResponseBody ResponseObject getResults(
HttpServletRequest request, HttpServletResponse response, @RequestBody RequestInput requestInput )

我的响应对象如下:

public class ResponseObject {
private String id;  
private String value;
private Map<String,String> keyValuePairs;
.... and the regular getter/setters

当我向keyValuePairs添加一些值时。我得到这样的JSON响应:

{
"id": "56LTY",
"value": "56 Large Thank You",
"keyValuePairs": {
"origin": "Vietnam",
"ship" : "Air"
}
}

我希望我的JSON响应是这样的:

{
"id": "56LTY",
"value": "56 Large Thank You",
"origin": "Vietnam",
"ship" : "Air"
}

这可行吗?

尝试使用com.fasterxml.jackson.annotation.JsonAnyGetter注释:

@JsonAnyGetter
public Map<String, String> getKeyValuePairs() {
return keyValuePairs;
}

最新更新