将各种实体类转成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     }

 

posted @ 2022-06-16 14:03  龙谷情Sinoam  阅读(2341)  评论(0编辑  收藏  举报
Smiley face