这是事情......我正在使用jtable(jquery)来显示一些用户数据。该组件需要一个带有两个字段的json:Result和Records。在我的控制器中,我有一个返回json的方法:
@RequestMapping(method=RequestMethod.POST, value="/getUsersInJson")
public @ResponseBody String getUsersInJsonHandler(){
ElementsInList<User> users = new ElementsInList<User>();
users.setItems(userService.getUsers());
return users;
}
类ElementsInList包含两个字段:结果和记录。结果是获取成功消息的字符串,记录是参数化列表,在此情况下包含用户列表。我得到了这个JSON:
“{” 结果 “:” OK”, “记录”:[{ “用户名”: “John” 的
但我需要这个:
“{” 结果 “:” OK”, “记录”:[{ “用户名”: “约翰”,...
这是我的映射:
<!-- Json converter bean -->
<bean id="jacksonMessageConverter" class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter"></bean>
<bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">
<property name="messageConverters">
<list>
<ref bean="jacksonMessageConverter"/>
</list>
</property>
</bean>
我该怎么办?我查了一些帖子但是有旧版本。 我正在使用Spring 3,Spring MVC和jQuery。
答案 0 :(得分:0)
我通过使用JsonProperty注释解决了它。您可以给出jackson用于构建json字段的名称。这里有一个jtable(jquery)的例子:
public class ElementsInList<T> {
@JsonProperty("Result")
private String result = "OK";
@JsonProperty("Records")
private List<T> records;
public String getResult() {
return result;
}
public void setResult(String result) {
this.result = result;
}
public List<T> getRecords() {
return records;
}
public void setRecords(List<T> records) {
this.records = records;
}
}
结果json是这样的:{“结果”:“确定”,“记录”:[{“roleName”:“admin”...
但是有更多关于这个注释的内容。查看api以获取更多信息:http://fasterxml.github.io/jackson-annotations/javadoc/2.1.0/com/fasterxml/jackson/annotation/package-summary.html