首页 > 编程知识 正文

java将list转为json,fastjson转实体类

时间:2023-05-04 23:03:26 阅读:15646 作者:408

@JSONField可以放在字段和方法中,但不同的放置有什么不同呢? 那么,让我们具体来看一下配置成不同的方法吧。

创建实体类时,必须在属性中创建get和set方法。 如果不创建,fastjson将无法识别。 让我们看看如何在具体的get和set方法中放置@JSONField

/*** @Title: getDate

* @Description:配置序列化后,日期将序列化为startDate

* @ return date */@ JSON field (name=' start date ' ) publicDate getDate ) {returndate;

(}/*** @Title: setDate

* @Description:配置反序列化时,用endDate进行匹配

*@paramdate

* @ return void */@ JSON field (name=' end date ' )公共void set date ) {this.date=date;

(}/*** @Title: getId

* @Description:配置序列化时未序列化的id

* @ return int */@ JSON field (串行=假)公共int getid ) {returnid;

(}/*** @Title: setId

* @Description:配置反向序列化时,id不会反向序列化

* @ return void */@ JSON field (deserialize=false ) public void setid (intid ) {this.id=id;

}

具体代码是上面的,很简单。 让我们来看看结果:

{'age':25,' name':'LiLei ',' sex': '男',' startDate':1451985134688}

User [id=0,name=LiLei,age=25,sex=男人,date=tue Jan 0517336004336047 CST 2016

可以看到,id既没有序列化也没有反序列化,date字段序列化时为startDate

看看下面的代码。 把结果和上面比较一下。

//反序列化

String jsonStr='{'id':10,'age':25,'name':'LiLei', ' sex' 3333323336523232323652306; date的一致name是结束日期

UO2uo=JSON.parseobject(JSONstr,Uo2.class );

system.out.println(uo.tostring );

让我们来看看结果:

User [id=0,name=LiLei,age=25,sex=男人,date=null]

这个时候,我们看到我们没有识别date。 因为我们在date字段的set方法中放置了@Jsonfield(name='endDate ' ),所以在识别时,我们会在endDate中识别key,但我们的json数据中有一个名为endDate的key

从以上内容可以总结出一个结论:

1 .序列化----JSON时对应字段的get ) )方法中

2 .在反序列化(json -- JavaBean )时将其放置在对应字段的set )方法中

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。