java对象转json JsonFormat注解 get方法
2021-01-29 11:16
标签:art integer set top 写在前面 常见 开始 代码 int 写在前面,首先,我用的java转json序列化的工具是java开源的jackson。 今天在做后端接口的时候,发现获取的json对象中少了几个属性,因为其他的接口都能得到正确的json,所以很快就找到了问题所在,先上代码 是的,这里我的类中只有属性,没有getter、setter方法,所以获取的json中少了一些属性。 解决方法一:后来我将类中的所有属性加上了getter、setter方法之后得到了正确的json对象。 虽然很快解决了,但是我还是上网查了下原因,然后我查阅知晓对于我用的jackson来说,需要类中有getter方法。是的,虽然我一次性把Setter方法也加上了,但是对于jackson将java对象转json来说,只要有Getter方法就行了。甚至是不需要有属性! 注意:java对象转成json成立的基本条件只需要有get方法!! 三种常见的json jar序列化与set,get方法的关系 然后我发现我一开始虽然丢失了几个属性,但是我也是有属性转为了json的,就是CreateTime。于是我就注意到了我在CreateTime属性上加的注解@JsonFormat(pattern = "yyyy-MM-dd hh:mm:ss"),我想着是不是和这个注解有关,于是我将Getter方法删去,在其他属性上加上了注解 然后在json中成功都得到了该属性, 所以,解决方法二:在你需要转为json的属性上加上@JsonFormat注解即可 这其中的具体原理我并没有去深究,之后有时间再去看看具体源码。如果有大佬都懂的话可以留言指导,或者留下博客链接,小弟必去造访。 以上都是本人自己的理解,可能会与真正的解答不一致,欢迎各位大佬指正。 java对象转json JsonFormat注解 get方法 标签:art integer set top 写在前面 常见 开始 代码 int 原文地址:https://www.cnblogs.com/xywang-35/p/12833400.htmlpublic 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"
}]
}
{
"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
}]
}
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;
}
{
"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"
}]
}
文章标题:java对象转json JsonFormat注解 get方法
文章链接:http://soscw.com/index.php/essay/48661.html