fastjson反序列化ZonedDateTime格式的时间

这篇博客介绍了如何使用Fastjson进行JavaBean、List、Map等类型的反序列化,并特别提到Fastjson处理ZonedDateTime格式时间时的注意事项,包括设置默认日期格式避免报错的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. JavaBean

      Person person = JSON.parseObject(jsonString, Person.class);

2. List<JavaBean>

      List<Person> listPerson =JSON.parseArray(jsonString, Person.class);

3. List<String>

      List<String> listString = JSON.parseArray(jsonString, String.class);

4. List<Map<String,Object>>

      List<Map<String, Object>> listMap = JSON.parseObject(jsonString, new TypeReference<List<Map<String,Object>>>(){});  (注意:此处可看出fastjson反射机制比gson更准确, id = 1001 通过fastjson反射仍是 id = 1001 , 而通过gson反射结果 为 id =1001.0 ;


另外,如果fastjson反序列化时间时,如果时间是ZonedDateTime的格式,会报错。处理方式如下:

JSONObject.DEFFAULT_DATE_FORMAT = "yyyy-MM-dd'T'HH:mm:ss.mmm";

ModuleDTO moduleDto = JSONObject.parseObject(object.toJSONString(), ModuleDTO.class);

如果是数组:

JSONArray.DEFFAULT_DATE_FORMAT = "yyyy-MM-dd'T'HH:mm:ss.mmm";

List<Device> devices = JSONArray.parseArray(object.toJSONString(), Device.class);

应该也可以用JOSN代替JSONObject和JSONArray。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值