博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
解析jsonObject,赋给指定的对象
阅读量:4949 次
发布时间:2019-06-11

本文共 1347 字,大约阅读时间需要 4 分钟。

从JSONObject中解析数据,并赋给给定的对象

public static Object parseBean(JSONObject jsonObject, Object obj) {  if (jsonObject == null || obj == null) {   return null;  }  Class
clazz = obj.getClass();  Iterator
it = jsonObject.keys();  Field field = null;  String key = null;  try {   while (it.hasNext()) {    key = it.next().toString();    // 获得对应的属性    field = clazz.getDeclaredField(key);    // 获得属性对应的值    Object val = jsonObject.get(key); // 暂不考虑Date类型    if (field.getType() == Integer.TYPE) {     val = Integer.parseInt(val.toString());    } else if(field.getType() == Long.TYPE||field.getType() == Long.class) {     val = Long.parseLong(val.toString());    } else if (field.getType() == Date.class) {     if (field.isAnnotationPresent(DateTimeFormat.class)) {      String pattern = field.getAnnotation(DateTimeFormat.class).pattern();      val = DateUtil.parse(val.toString(), pattern);     } else {      val = DateUtil.parseDate(val.toString());     }    }else if(field.getType() == BigDecimal.class) {     if (StringUtils.hasText(val.toString())) {      val = new BigDecimal(val.toString());     }else{      val = null;     }          }     // 赋值    field.setAccessible(true);    field.set(obj, val);   }  } catch (Exception e) {   e.printStackTrace();   return null;  }  return obj; }

  

转载于:https://www.cnblogs.com/HHR-SUN/p/10520781.html

你可能感兴趣的文章
Redis之主从复制、哨兵模式
查看>>
[转]架构师核心技能养成
查看>>
UVA 10099 - The Tourist Guide
查看>>
Application Initialization Module for IIS 7.5
查看>>
常见排序算法导读(6)[快排序]
查看>>
06-模型基础
查看>>
python所有的内置异常类型汇总
查看>>
j2ee之struts2转换器
查看>>
Oracle简单数据库操作
查看>>
委托、IOC全知道
查看>>
对称加密和非对称加密
查看>>
扫码跳转AppStore
查看>>
公司的jsonp库的使用方法
查看>>
SpringDataJpa
查看>>
LeetCode 120. 三角形最小路径和(Triangle)
查看>>
Zabbix 3.2.6-Mysql多实例监控-Percona Monitoring Plugins自动发现
查看>>
在iis上部署asp.net mvc2.0
查看>>
POJ 3221 Diamond Puzzle.
查看>>
排序之表排序、基数排序及全部排序算法比較
查看>>
关闭SSH其他用户会话连接
查看>>