将各种实体类转成JSON(com.alibaba.fastjson.JSONObject)
当和其他系统对接时,因为某些原因,本系统需要根据不同条件查询不通的实体类,并以JSON格式传输数据,需要将各种实体类转成json
1 public <U> JSONObject processEntity2Json(Class<U> clazz, U cla) { 2 //将传过来的对象进行赋值处理, 3 //此时u可用来代表传过来的对象(本示意中是Users), 4 //此时可以用u调用传过来对象的方法 5 U u = clazz.cast(cla); 6 //以下是验证此示意中实体类可被操作了 7 //getDeclaredFields():获得某个类的所有声明的字段,即包括public、private和proteced,但是不包括父类的申明字段。 8 //.getClass()是一个对象实例的方法,只有对象实例才有这个方法,具体的类是没有的 9 JSONObject jsonObject = new JSONObject(); 10 for (Field field : u.getClass().getDeclaredFields()) { 11 //允许获取实体类private的参数信息 field.setAccessible(true); 12 field.setAccessible(true); 13 try { 14 jsonObject.put("convertJsonStatus",200); 15 jsonObject.put(field.getName(),field.get(u)); 16 System.out.println(field.getName() + ":::" + String.valueOf(field.get(u))); 17 } catch (IllegalAccessException e) { 18 e.printStackTrace(); 19 jsonObject.put("convertJsonStatus",500); 20 return jsonObject; 21 } 22 } 23 doSonething(); 24 return jsonObject; 25 }
昔日我曾苍老,如今风华正茂(ง •̀_•́)ง