@ResponseBody返回Json格式数据问题
@ResponseBody
作用:
该注解用于将Controller的方法返回的对象,通过适当的HttpMessageConverter转换为指定格式后,写入到Response对象的body数据区。
使用时机:
返回的数据不是html标签的页面,而是其他某种格式的数据时(如json、xml等)使用;
---------------------
作者:walkerjong
来源:CSDN
原文:https://blog.csdn.net/walkerJong/article/details/7520896
版权声明:本文为博主原创文章,转载请附上博文链接!
考虑返回如下实体类
public class PlainMessage{
private String JMSMessageID;
private String JMSDestination;
public String getJMSMessageID(){return JMSMessageID;}
public String getJMSDestination(){return JMSDestination;}
};
在控制器内@Response返回时
PlainMessage 对象message编码成的json格式为
{“jmsmessageID":"123";"jmsdestination":"456"}
此时若前端页面表格有如下字段‘JMSMessageID’,‘JMSDestination’,将造成字段和json无法一一映射,因此可在
属性前加上@JsonProperty注解;强制json序列化属性为指定名称;
如
@JsonProperty(value=“JMSMessageID”)
private String JMSMessageID;
@JsonProperty(value=“JMSDestination”)
private String JMSDestination;
但此时生成的json对象为
{“JMSMessageID":"123";"JMSDestination":"456";“jmsmessageID":"123";"jmsdestination":"456"}
多了两个属性jmsmessageID,jmsdestination;
因此需在getter上加上@JsonIgnore注解即为:
@JsonIgnore
public String getJMSMessageID(){return JMSMessageID;}
@JsonIgnore
public String getJMSDestination(){return JMSDestination;}
这样生成json对象为
{“JMSMessageID":"123";"JMSDestination":"456"}
更多推荐
所有评论(0)