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

 package util;

 import java.lang.reflect.Field;
import java.lang.reflect.Method;
import java.util.List; import org.web3j.protocol.core.methods.response.Transaction; import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject; public class JSONUtil { /**
* 获取Transaction相应的JSON对象
* @param trans
* @return
*/
public static JSONObject getTransJSON(Transaction trans) {
JSONObject data = getJSON(Transaction.class, trans);
return data;
} /**
* 获取交易信息列表
* @param transList
* @return
*/
public static JSONArray getTransListJSON(List<Transaction> transList) {
JSONArray data = new JSONArray();
for(Transaction trans : transList) {
JSONObject transJson = getTransJSON(trans);
data.add(transJson);
}
return data;
} /**
* 获取json对象
* @param cls
* @param obj
* @return
*/
public static JSONObject getJSON(Class<?> cls, Object obj) {
JSONObject json = new JSONObject();
Field[] fieldArray = cls.getDeclaredFields();
for(Field field : fieldArray) {
String fieldName = field.getName();
String methodName = "get" + fieldName.substring(0, 1).toUpperCase() + fieldName.substring(1);
try {
Method method = cls.getMethod(methodName);
Object fieldObject = method.invoke(obj, new Object[0]);
String fieldValue = null;
if(fieldObject != null) {
fieldValue = fieldObject.toString();
}
json.put(fieldName, fieldValue);
} catch (Exception e) {
e.printStackTrace();
}
}
return json;
} }

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

  1. JAVA中如何将一个json形式的字符串转为json对象或对象列表

    import java.util.*; import java.text.SimpleDateFormat; import org.json.JSONObject; import org.json.J ...

  2. java利用反射机制判断对象的属性是否为空以及获取和设置该属性的值

    1.java利用反射机制判断对象的属性是否为空: Map<String,String> validateMap = new LinkedHashMap<String, String& ...

  3. 【转】Java利用反射机制访问私有化构造器

    Java利用反射机制访问私有化构造器 博客分类: java   我们都知道,当一个类的构造方法被设为私有的时候(private),在其他类中是无法用new来实例化一个对象的. 但是有一种方法可以把带有 ...

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

    利用反射和泛型把Model对象按行储存进数据库以及按行取出然后转换成Model 类实例 MVC网站通用配置项管理   2018-3-10 15:18 | 发布:Admin | 分类:代码库 | 评论: ...

  5. java利用反射调用类的某个方法

    java利用反射机制 可以动态调用某个类的某个方法,在 扩展系统功能或提供对外接口时经常用的到. 代码如下: 打印类Print.java package com.test.reflct; /** * ...

  6. java利用反射获取类的属性及类型

    java利用反射获取类的属性及类型. import java.lang.reflect.Field; import java.math.BigDecimal; import java.util.Map ...

  7. 利用反射创建User类的对象

    package com.bjpowernode; public class User { private int age; public String name; public void m1() { ...

  8. 【js操作url参数】获取指定url参数值、取指定url参数并转为json对象

    获取指定url参数值 /* 获取某url中的某参数值 调用:GetUrlQueryString("[url地址]","[参数名]"); */ function ...

  9. 将url参数转为json对象

    /** * 将url参数转为json对象 * * @param str * @returns {{}} */ function parseQueryString(str){ arr = [], len ...

随机推荐

  1. ffmpeg中的x264编码选项,对应关系

    )’ Disabled. ‘variance (1)’ Variance AQ (complexity mask). ‘autovariance (2)’ Auto-variance AQ (expe ...

  2. jvisualvm远程调试

    远程服务器端 (1)设置jstatd.all.policy 文件 grant codebase "file:${java.home}/../lib/tools.jar" { per ...

  3. 我买网B轮融资成功,五周年豪掷千万回馈会员

        对中粮我买网而言,近期的B轮融资应该算是最大的好消息了------8月1日,中粮我买网在京宣布完毕B轮融资.金额高达1亿美元.被称为"食品电商史上最大融资".据悉,本次融资 ...

  4. Chromium开发--入门C++小样例

      開始做Chromium开发的时候,都是从代码去摸索的,如今有几个样例了.希望看到的同学能有帮助,比直接在大量代码里领悟要快非常多了. C++ in Chromium 101 - Codelab h ...

  5. WINDOWS 7.1 SDK 安装失败

    错误提示: Please refer to Samples\Setup\HTML\ConfigDetails.htm document for further information. 原因:本机上安 ...

  6. hdu2587(递推)

    目前做过的最纠结的一道递推题. 情况比较多,比较复杂... 这题最主要的还是要推出当m=2 时和m>2时,用什么方法最优. 给个数据 n=3,m=2   需要48 n=3,m=3 需要81 如果 ...

  7. poj1840

    Eqs Time Limit: 5000MS   Memory Limit: 65536K Total Submissions: 15133   Accepted: 7426 Description ...

  8. 关于错误处理程序中【return】的用法

    先让俺这位新人帮各位有幸游览到我博客文章的叔叔阿姨哥哥姐姐们解释一下什么是错误处理?即:当程序发生错误时,保证程序不会异常中断的机制. 那么为什么程序中会有错误处理呢?像我们通常无论是玩手机或者玩游戏 ...

  9. 前端 为什么我选择用框架而不是Jquery

    对于很多习惯用Jquery的前端甚至后端,都很不解,为什么不用Jquery而是框架.觉得框架学起来麻烦,成本高,今天我以我浅薄的知识来总结一下为什么前台开发选择用框架: 前台开发,主要的性能是卡在回流 ...

  10. 实验一中的OOP思想

    子类继承父类    父类中声明了接口变量   接口AB中声明了抽象方法 ab 在子类中 可以用这样通俗的语句写程序: while (!(this.termination.shouldTerminate ...