`
mhtank521
  • 浏览: 9197 次
社区版块
存档分类
最新评论

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

    博客分类:
  • JSON
 
阅读更多

最近在学习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,下载即可用。

 

  • 大小: 108.4 KB
分享到:
评论

相关推荐

    JSON与JAVA数据的相互转换 (2).pdf

    - JSON不支持Java中的所有数据类型,例如`Date`、`BigDecimal`等,转换时需要特别处理。 - 为了处理复杂的JSON结构,可能需要递归调用`JSONObject.fromObject()`和`JSONObject.toBean()`。 总结,JSON与Java数据...

    Springboot DTO字符字段与日期字段的转换问题.docx

    在Spring Boot应用中,数据传输对象(DTO,Data Transfer Object)常常用于前后端的数据交换。当前端发送JSON请求到后端时,日期通常被表示为字符串。然而,后端的实体类中,日期字段通常是`java.util.Date`类型。在...

    Json解析事例

    Gson是Google提供的一个开源库,它可以将Java对象转换为JSON字符串,反之亦然。 ```java import com.google.gson.Gson; import java.util.Date; public class JsonExample { public static void main(String[] ...

    JSON完整使用教程

    JSON采用了键值对(key-value)的形式来存储数据,其中键(key)的取值类型必须是字符串(String),而值(value)的取值类型则可以是字符串(String)、布尔值(Boolean)、数字(Number)、数组(Array)、对象(Object)或者null。...

    Gson TypeAdapter使用技巧几例:数据免判空、解析后校验、预处理.zip

    例如,当从JSON反序列化为Java对象时,如果某个字段在JSON中不存在或值为null,我们可以为其设置默认值,而不是抛出异常。这样可以提高代码的健壮性,减少因数据不完整而导致的错误。 ```java public ...

    使用天行数据api,java查询节假日/调休/工作日/周末日期

    一旦获取到API的JSON响应,你需要使用JSON解析库,如Jackson或Gson,将JSON数据转化为`HolidayInfo`对象。具体解析过程因JSON结构而异,所以这里没有给出具体实现。在解析完成后,你可以根据`HolidayInfo`对象中的...

    java json ajax

    ### Java、JSON与AJAX在FullCalendar中的应用 #### 一、概述 本文将详细介绍如何在Java后端环境中,利用JSON和AJAX技术与前端框架FullCalendar进行交互,实现动态日历事件展示的功能。该场景涉及到的技术栈主要...

    Gson解析数据

    Gson是Google开发的一款强大的Java库,用于在Java对象和JSON数据之间进行映射。它使得Java对象可以轻松地转换成JSON格式,反之亦然。这个库被广泛应用于Android开发中,用来处理JSON数据,例如从网络接口获取数据...

    Java笔记word.docx

    利用Gson库可以轻松地将JSON格式的数据转换为Java对象。 **示例**: ```java Gson gson = new Gson(); User user = gson.fromJson(jsonString, User.class); ``` #### 9. 将List集合按某个字段分组 可以使用Java...

    SpringBoot中时间类型 序列化、反序列化、格式处理.docx

    - **序列化**:将Java对象转换为JSON字符串,其中日期和时间字段会按照配置的格式显示。 - **反序列化**:将JSON字符串转换回Java对象,Jackson会尝试根据配置的格式解析日期和时间字段。 5. **DateTimeFormatter...

    GsonFormat

    在Android开发中,我们经常需要将接收到的JSON格式的数据转化为Java对象以便进行处理,GsonFormat正是为此目的而设计的工具。 在Android Studio中,通常我们可以通过在线Marketplace来安装插件,但有时由于网络问题...

    JSP+jquery使用ajax方式调用json的实现方法.docx

    `设置响应的MIME类型为JSON,确保浏览器知道接收到的是JSON数据。然后,从请求中获取`uid`参数,根据业务逻辑处理后生成一个包含`result`字段的JSON字符串,并通过`out.print(result);`将其写入响应体。 当`jQuery....

    echarts动态加载 java demo

    在Java开发中,我们经常需要将后端数据与ECharts图表进行对接,实现动态加载数据的功能。本篇文章将深入探讨如何使用Java实现ECharts动态加载数据的示例。 ### 一、ECharts动态加载机制 ECharts的动态加载数据主要...

    springbootJson的解析demo

    在Spring Boot框架中,JSON(JavaScript Object Notation)是一种常用的数据交换格式,广泛应用于Web服务接口的数据传输。本文将深入探讨Spring Boot如何解析JSON数据,包括两种主要的方式:ModelAndView和RESTful ...

    6-2 生成原始会议数据 - EMOS小程序1

    接着,我们在`TbMeetingDao.java`接口中定义了一个`insertMeeting`方法,该方法接受一个`TbMeeting`对象作为参数,用于插入一条新的会议记录到数据库中。 然后,我们创建了`MeetingService`接口,定义了一个抽象...

    使用AJAXRPC的一些方法

    - Number:在JavaScript中对应Short、Integer、Long、Float、Double,在Java和.Net中分别映射为相应类型。 - Boolean:在所有语言中都是一致的,表示布尔值。 - String:在所有语言中都是字符串类型。 - Date:在...

    通过base64上传图片到服务器并读取图片

    Base64是一种用于在网络上传输二进制数据的编码方式,它将原始的二进制数据转换为ASCII字符,以便于在只支持文本的环境中传输。在图片上传的场景中,Base64编码可以将图片文件转换为字符串形式,然后通过HTTP请求...

    自整理Java关于基础和框架的面试题

    ##### java的基本数据类型 - 整型:byte、short、int、long - 浮点型:float、double - 字符型:char - 布尔型:boolean ##### 冒泡排序 - **算法思想**:比较相邻元素,将较大的元素往后移动。 ##### 二分查找法 ...

    java实现断点续传

    - 上述代码中,我们首先创建一个`URL`对象指向目标文件地址,然后打开连接,并设置`User-Agent`以及`RANGE`头,最后通过`getInputStream()`方法获取输入流。 2. **保存文件到磁盘:** - 一旦获得了从指定位置开始...

    于笑扬java综合知识点总结-必背.doc

    Java中常见的时间类型包括`Date`、`Calendar`、`LocalDate`等,可以通过相应API进行转换。例如,可以使用`SimpleDateFormat`类来格式化日期。 #### 十九、阶乘 阶乘是一个正整数n的所有小于及等于n的正整数的乘积...

Global site tag (gtag.js) - Google Analytics