您的位置:首页 > 移动开发 > Objective-C

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

2016-01-29 10:41 603 查看
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;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: