使用jacksonMapper工作的java中的字符串到日期转换

时间:2016-06-21 12:31:36

标签: java json jackson

上下文:尝试使用jacksonMapper将JSON字符串值转换为java Date值

代码:

MyPOJO {

  private String id;

  private String desc;

  private Date startDate;

  // getters and setters

  }

我的服务DAO调用在将MyPOJO作为JSON字符串对象接收后,将记录插入到MyPOJO的数据库中:

 MyPOJODAO {

  ObjectMapper mapper = new ObjectMapper();
  SimpleDateFormat formatter = new SimpleDateFormat ("dd-MM-yyyy hh:mm:ss");
  mapper.setDateFormat("formatter");
  MyPOJO myPojo= mapper.reader(MyPOJO.class).readValue(myPojoJsonString);

  // db call to insert myPOJO to DB
  }

但是,DB调用失败并出现错误类型不匹配:找到BINARY需要DATE。 当我在进行DAO插入调用之前打印myPOJO时,我可以看到startDate字段未能转换为日期格式。

我错过了什么?还是更容易的替代品?

1 个答案:

答案 0 :(得分:0)

请尝试更改该行:

自: SimpleDateFormat formatter = new SimpleDateFormatter(“dd-MM-yyyy hh:mm:ss”);

要: SimpleDateFormat formatter = new SimpleDateFormat(“dd-MM-yyyy hh:mm:ss”);