微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

JSONObject.toBean(JSONObject jsonObject, Class beanClass)时,防止时间类型为系统默认时间

1、场景描述:前端传至后台的时间格式为yyyy-MM-dd,例如:2016-01-22,传至后台通过JSONObject.toBean(JSONObject jsonObject,Class beanClass)转换成对象时,时间转换为系统时间


2、原因:JSONObject不能识别“yyyy-MM-dd”的格式


3、解决添加一段代码

JSONUtils.getMorpherRegistry().registerMorpher(new DateMorpher(new String[]{"yyyy-MM-dd"}));


4、代码

String javabo = request.getParameter("javaboJson");
    	 if (javabo!=null&&!"".equals(javabo)) {
  			JSONObject json=JSONObject.fromObject(javabo);
  			int size = json.size();
  			List<JavaBO> list= new ArrayList<JavaBO>();
  			for (int i = 0; i < size; i++) {
  				JSONObject o = (JSONObject) json.get(""+i);
  			    //处理时间避免获取当前系统时间——原因JSONObject不能识别“yyyy-MM-dd”的格式
  				JSONUtils.getMorpherRegistry().registerMorpher(new DateMorpher(new String[]{"yyyy-MM-dd"}));

  				JavaBO b = (JavaBO) JSONObject.toBean(o,JavaBO.class);
  				list.add(b);
  			}
  			return list;

原文地址:https://www.jb51.cc/json/289483.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐