java利用反射将pojo转为json对象

最近做以太坊钱包项目需要与前台进行json交互,写一个工具类,经普通javaBean转为json对象

 1 package util;
 2
 3 import java.lang.reflect.Field;
 4 import java.lang.reflect.Method;
 5 import java.util.List;
 6
 7 import org.web3j.protocol.core.methods.response.Transaction;
 8
 9 import com.alibaba.fastjson.JSONArray;
10 import com.alibaba.fastjson.JSONObject;
11
12 public class JSONUtil {
13
14     /**
15      * 获取Transaction相应的JSON对象
16      * @param trans
17      * @return
18      */
19     public static JSONObject getTransJSON(Transaction trans) {
20         JSONObject data = getJSON(Transaction.class, trans);
21         return data;
22     }
23
24     /**
25      * 获取交易信息列表
26      * @param transList
27      * @return
28      */
29     public static JSONArray getTransListJSON(List<Transaction> transList) {
30         JSONArray data = new JSONArray();
31         for(Transaction trans : transList) {
32             JSONObject transJson = getTransJSON(trans);
33             data.add(transJson);
34         }
35         return data;
36     }
37
38     /**
39      * 获取json对象
40      * @param cls
41      * @param obj
42      * @return
43      */
44     public static JSONObject getJSON(Class<?> cls, Object obj) {
45         JSONObject json = new JSONObject();
46         Field[] fieldArray = cls.getDeclaredFields();
47         for(Field field : fieldArray) {
48             String fieldName = field.getName();
49             String methodName = "get" + fieldName.substring(0, 1).toUpperCase() + fieldName.substring(1);
50             try {
51                 Method method = cls.getMethod(methodName);
52                 Object fieldObject = method.invoke(obj, new Object[0]);
53                 String fieldValue = null;
54                 if(fieldObject != null) {
55                     fieldValue = fieldObject.toString();
56                 }
57                 json.put(fieldName, fieldValue);
58             } catch (Exception e) {
59                 e.printStackTrace();
60             }
61         }
62         return json;
63     }
64
65 }

原文地址:https://www.cnblogs.com/guanghe/p/8984269.html

时间: 2024-10-12 02:53:28

java利用反射将pojo转为json对象的相关文章

java利用反射对pojo进行排序后转String

最近由于业务需求,在跟其他的系统进行通信时要求对pojo中的域进行排序,然后域的升序或降序再转化成String,即双方进行md5校验时按照相同的规则 根据需求利用发射写了个工具类,给大家分享出来,供大家参考 /**     * 按照给定类的域进行排序,然后用指定的分割符进行分割<br/>     * @param instance 需要操作的类的实例     * @param desc 如果true表示降序,如果是false按照升序     * @param separator 域之间的分隔符

Java利用反射访问对象的私有成员

当我们使用反射为java对象的全部字段逐一赋值的时候,私有字段是不允许直接访问的. 在java.lang.reflect当中,有几个比较实用的API可以解决: getDeclaredFields() :获得所有访问级别的字段 setAccessible(boolean flag): 修改类成员的可访问性 下面以一个JavaBean 对象 转 DBObject 对象的方法为例: public static DBObject bean2DbObject(DBObject dbObject, PicI

java利用反射机制判断对象的属性是否为空

java利用反射机制判断对象的属性是否为空: Map<String,String> validateMap = new LinkedHashMap<String, String>(); validateMap.put("serial", "编号");validateMap.put("major", "专业"); public static <T> String validateFiledIs

利用反射和泛型把Model对象按行储存进数据库以及按行取出然后转换成Model 类实例 MVC网站通用配置项管理

利用反射和泛型把Model对象按行储存进数据库以及按行取出然后转换成Model 类实例 MVC网站通用配置项管理 2018-3-10 15:18 | 发布:Admin | 分类:代码库 | 评论:0 | 浏览:45 | 该类在MVC中可以方便管理配置信息,可以直接把Model储存进数据库或者从数据库去除数据转为Model. 1 何为配置项目? 比如网站的名称,页脚信息,meta中的KeyWord信息等,如果不想硬编码到网页里,就需要使用配置文件进行储存,通常都是储存到数据库中.使用的时候读取出来

Java利用反射实现注解简单功能

//自定义一个简单的注解@Retention(RetentionPolicy.RUNTIME) @Target({ElementType.TYPE,ElementType.METHOD,ElementType.FIELD,ElementType.PARAMETER,ElementType.LOCAL_VARIABLE}) public @interface Dougest { String value() default ""; } import java.lang.reflect.F

java利用反射完成不同类之间相同属性的复制

如果我们有两个不同的类对象,但他们具有相同的属性,我们怎么将一个对象的属性值复制给另外一个对象呢? 我们可以利用反射完成这个需求:首先我们利用反射得到两个对象的所有属性,再通过循环得到源对象(被复制的对象)每个属性值,然后再将值复制给目标对象(复制的对象)的属性. 源对象的类: public class UserSource { private String name; private int age; private String address; public String getName(

Java利用反射排序

前言 Java为我们提供了几种排序得方法,比如Arrays和Collections类,但是前提是数组或者集合中的元素都必须实现Comparable接口,基本的数据类型都已经实现了Comparable接口了,所以我们才能够直接对基本类型的数组或者集合进行排序,比如Float和Integer类得源码. 今天记录一下对Comparable得使用和反射得使用. 先看一个Student类 我们要对他进行年龄排序,可以用冒泡进行排序,或者用选择排序法 但是这不是主角, 而我们要用Comparable接口进行

json字符串转为json对象

因为json的特性,所以我们业务接口习惯使用json下发数据信息. 但是有的时候并不是自己想的那样,就比如微信小程序中一般json都会以对象的形式存在(因为小程序有了处理),但是在加解密后就会生成正常的json字符串,这个时候就需要转换了. JSON.parse(jsonstr) 我这个是直接利用函数将json字符串转化成了json对象,然后就可以正常获取了. 原文地址:https://www.cnblogs.com/two-bees/p/11182598.html

java调用http接口并返回json对象

1 import java.io.BufferedReader; 2 import java.io.InputStreamReader; 3 import java.io.OutputStreamWriter; 4 import java.io.PrintWriter; 5 import java.net.URL; 6 import java.net.URLConnection; 7 import java.net.URLEncoder; 8 import java.util.HashMap;