• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

Java对象转json JsonFormat注解

java 搞代码 4年前 (2022-01-05) 22次浏览 已收录 0个评论

这篇文章主要介绍了Java对象转json JsonFormat注解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

写在前面,首先,我用的java转json序列化的工具是java开源的jackson。

今天在做后端接口的时候,发现获取的json对象中少了几个属性,因为其他的接口都能得到正确的json,所以很快就找到了问题所在,先上代码

 public class ChargeDto implements Serializable { private static final long serialVersionUID = -4617215025083571608L; protected Integer cId; protected String Item; protected Double Amount; protected Integer Vcid; @JsonFormat(pattern = "yyyy-MM-dd hh:mm:ss") protected Date CreateTime; protected String CreateEName; }

 { "status": 200, "message": "成功", "data": [ { "CreateTime": "2020-05-04 01:41:19" }, { "CreateTime": "2020-05-04 02:10:11" }] }

是的来源[email protected]搞@^&代*@码网,这里我的类中只有属性,没有getter、setter方法,所以获取的json中少了一些属性。

解决方法一:后来我将类中的所有属性加上了getter、setter方法之后得到了正确的json对象。

 { "status": 200, "message": "成功", "data": [ { "cId": 1, "item": "挂号", "createEName": "医生1", "createTime": "2020-05-04 01:41:19", "amount": 5, "vcid": 1 }, { "cId": 2, "CreateTime": "2020-41-04 01:41:38", "item": "处方结算", "createEName": "医生1", "createTime": "2020-05-04 02:10:11", "amount": 122, "vcid": 1 }] }

虽然很快解决了,但是我还是上网查了下原因,然后我查阅知晓对于我用的jackson来说,需要类中有getter方法。是的,虽然我一次性把Setter方法也加上了,但是对于jackson将java对象转json来说,只要有Getter方法就行了。甚至是不需要有属性!

注意:java对象转成json成立的基本条件只需要有get方法!!

然后我发现我一开始虽然丢失了几个属性,但是我也是有属性转为了json的,就是CreateTime。于是我就注意到了我在CreateTime属性上加的注解@JsonFormat(pattern = “yyyy-MM-dd hh:mm:ss”),我想着是不是和这个注解有关,于是我将Getter方法删去,在其他属性上加上了注解

 public class ChargeDto implements Serializable { private static final long serialVersionUID = -4617215025083571608L; protected Integer cId; protected String Item; @JsonFormat protected Double Amount; @JsonFormat protected Integer Vcid; @JsonFormat(pattern = "yyyy-MM-dd hh:mm:ss") protected Date CreateTime; protected String CreateEName; }

然后在json中成功都得到了该属性,

 { "status": 200, "message": "成功", "data": [ { "Amount": 5, "Vcid": 1, "CreateTime": "2020-04-04 01:41:19" }, { "Amount": 122, "Vcid": 1, "CreateTime": "2020-04-04 01:41:38" }] }

所以,解决方法二:在你需要转为json的属性上加上@JsonFormat注解即可

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持gaodaima搞代码网

以上就是Java对象转json JsonFormat注解的详细内容,更多请关注gaodaima搞代码网其它相关文章!


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:Java对象转json JsonFormat注解

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址