博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java利用反射将pojo转为json对象
阅读量:7005 次
发布时间:2019-06-27

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

最近做以太坊钱包项目需要与前台进行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 trans17      * @return18      */19     public static JSONObject getTransJSON(Transaction trans) {20         JSONObject data = getJSON(Transaction.class, trans);21         return data;22     }23     24     /**25      * 获取交易信息列表26      * @param transList27      * @return28      */29     public static JSONArray getTransListJSON(List
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 cls41 * @param obj42 * @return43 */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 }

 

转载地址:http://pqutl.baihongyu.com/

你可能感兴趣的文章