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;

相关文章

AJAX是一种基于JavaScript和XML的技术,能够使网页实现异步交...
在网页开发中,我们常常需要通过Ajax从后端获取数据并在页面...
在前端开发中,经常需要循环JSON对象数组进行数据操作。使用...
AJAX(Asynchronous JavaScript and XML)是一种用于创建 We...
AJAX技术被广泛应用于现代Web开发,它可以在无需重新加载页面...
Ajax是一种通过JavaScript和HTTP请求交互的技术,可以实现无...