json中date类型数据为空造成转JAVA对象失败

本文介绍了一种解决Java中JSON转换时遇到的日期格式错误或为空导致的JSONException问题的方法。通过对ezmorph-1.0.6.jar中的DateMorpher类进行修改,使程序能够正确处理日期为空的情况。

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

最近在学习java对象和json互相转换,发现当java对象里date类型属性值为null时,

会报如下异常:

net.sf.json.JSONException: Error while setting property=date type class java.lang.String

看了下json-lib的源码,才发现Json转Java的时候,调用ezmorph-1.0.6.jar中的DateMorpher类有问题:

如果date的格式错误或者为空(总之就是转换错误)的时候,没有对错误处理。

就在net.sf.ezmorph.object.DateMorpher的这一段

Java代码  收藏代码
  1. try{   
  2.        return dateParser.parse( strValue.toLowerCase() );  
  3.  } catch( ParseException pe ){   
  4.      // ignore exception, try the next format   
  5. }   

 所以我改成如下样子

Java代码  收藏代码
  1. try{  
  2.    return dateParser.parse( strValue.toLowerCase() );  
  3. }  
  4. catch( ParseException pe ){  
  5.    return null;  
  6. }  

 

 这样就行了。

测试结果如下:



 

附件是修改后的ezmorph-1.0.6.jar,下载即可用。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值