日常开发中在进行接口对接的数据传输时,有一种场景是将bean转成jsonString,这里可以将bean转换成Map再转成jsonString。

工具类如下:

public static String toJSONString(Object obj) {JSONObject json = new JSONObject();try {Map<String, String> map = beanToMap(obj);for (Map.Entry<String, String> entry : map.entrySet()) {json.put(entry.getKey(), entry.getValue());}} catch (JSONException e) {e.printStackTrace();}return json.toString();}    /*** 将bean转换成Map* * @param bean* @return*/public static Map<String, String> beanToMap(Object bean) {if (bean == null) {return null;}Map<String, String> parameters = new HashMap<String, String>();if (null != parameters) {// 取得bean所有public 方法Method[] Methods = bean.getClass().getMethods();for (Method method : Methods) {if (method != null && method.getName().startsWith("get")&& !method.getName().startsWith("getClass")) {// 得到属性的类名String value = "";// 得到属性值try {String className = method.getReturnType().getSimpleName();if (className.equalsIgnoreCase("int")) {int val = 0;try {val = (Integer) method.invoke(bean);} catch (InvocationTargetException e) {e.printStackTrace();}value = String.valueOf(val);} else if (className.equalsIgnoreCase("String")) {try {value = (String) method.invoke(bean);} catch (InvocationTargetException e) {e.printStackTrace();}}if (value != null && value != "") {// 添加参数// 将方法名称转化为id,去除get,将方法首字母改为小写String param = method.getName().replaceFirst("get","");if (param.length() > 0) {String first = String.valueOf(param.charAt(0)).toLowerCase();param = first + param.substring(1);}parameters.put(param, value);}} catch (IllegalArgumentException e) {e.printStackTrace();} catch (IllegalAccessException e) {e.printStackTrace();}}}}return parameters;}

转载于:https://www.cnblogs.com/mark8080/p/6247351.html

将bean转换成键值列表相关推荐

  1. python 如何将字符串数字列表转换成数字列表,如何将数字列表转换成字符串数字列表?map(eval,list(str))

    字符串数字列表转换成数字列表 # -*- encoding: utf-8 -*- """ @File : test.py @Time : 2019/10/28 23:37 ...

  2. C#编程,输入里程数和耗油量,计算每升的里程数,程序中使用异常处理器,当输入的里程数或耗油量无法转换成double值时处理FormatException。

    C#编程,输入里程数和耗油量,计算每升的里程数,程序中使用异常处理器,当输入的里程数或耗油量无法转换成double值时处理FormatException.

  3. 将fer2013转成图片,删选图片后生成新数据集(图像转换成像素值以csv存储)

    前段时间做实验涉及到将fer2013数据集,fer2013数据集中存在一些非人脸,标签错误的图像.为了提高实验准确性,我将fer2013转换成图片,进行筛选删除后,把新的数据集转换成跟fer2013格 ...

  4. 键盘按键VK键值列表及宏定义

    VK键值列表及宏定义 /* * Virtual Keys, Standard Set  */ #define VK_LBUTTON        0x01 #define VK_RBUTTON     ...

  5. VC键盘VK键值列表

    键盘VK键值列表 /* Virtual Keys, Standard Set*/ VK_LBUTTON                                      0x01 VK_RBU ...

  6. 什么是BCD码?BCD码的用处。怎么把BCD码转换成二进制值?

    含义:用4位二进制数来表示数值中的1位(十进制数中的0~9这10个数字),简称BCD码,即BCD代码 也可以这样理解:就是将十进制的数以8421的形式展开成二进制(14 以8421形式展现成二进制就是 ...

  7. 颜色的整数值转换成RGB值

    最近在研究使用Python操作Excel自动化的过程中,我遇到了一个小问题.为了弄清楚Excel在设置单元格条件格式时候所用的颜色,我使用VBA录制了宏命令,但是单元格和字体的颜色都是使用整数值进行标 ...

  8. Android 键盘键名和键值列表

    转载自:https://blog.csdn.net/mazhidong/article/details/79567306 Android 键盘键名和键值列表 小小小程序元 2018-03-15 14: ...

  9. android键值列表,Android Json不规则键值解析与转换

    简述 在Android开发的时候,通过网络请求获取后台返回数据与上传数据给后台是十分常见的.有时候,我们会遇到需要解析和传递特殊键值的Json,对于这种情况,引出了本次要讲诉的内容. Json数据解析 ...

  10. python输出键值列表_Python 键值分组或分区数据

    Python 使用键值分组或者分区数据,对分组后的数据做何种归约是没有限制的.数据中可能包含一些自变量或者因变量.可以通过自变量对数据进行分区,然后计算每个分区的各项汇总值,包括最大值.最小值.平均值 ...

最新文章

  1. MyBatis点滴积累
  2. YOLOS:重新思考Transformer的泛化性能
  3. 二、【绪论】算法和算法评价
  4. 如何在Elasticsearch中进行深分页
  5. log4j 调试时候配置
  6. socket可以写成单例嘛_精读设计模式 Singleton 单例模式
  7. 【Elasticsearch】es node 节点
  8. 类人猿X64安卓手游封包技术教程(主要易语言+个别C++)
  9. Android Gradle plugin requires Java 11 to run. You are currently using Java 1.8.
  10. 项目工程设计图纸内容规范
  11. uni-app APP支付 uni.requestPayment APP微信支付
  12. 第五章 数组程序(Ivor Horton)
  13. Jquery电子签名制作_jSignature
  14. 【数据库】GaussDB客户端工具介绍
  15. 细菌如何交流和占地盘——细菌的群体感应和生物膜
  16. 面试被问到如何设计微信钉钉后端高并发IM架构?懵了.....
  17. RK3399学习笔记 1.0.3---python环境 Firefly Core-3399pro-jd4 Win10上RKNN工具安装
  18. TCP/IP网络编程_第6章基于UDP的服务器端/客户端
  19. linux-为php添加curl扩展
  20. 《六顶思考帽》读书笔记

热门文章

  1. 广播的接收与U盘广播
  2. Nebula3渲染层: Graphics
  3. WebService:JAX-WS实现WebService
  4. memcached—认识Memcache
  5. mybatis传参总结
  6. Python(含PyCharm及配置)下载安装以及简单使用(Idea)
  7. 使用Connector/C++操作MySQL
  8. c#获取本地ip地址网关子网掩码_C#设置本地网络如DNS、网关、子网掩码、IP等等...
  9. 笔记本电脑报价单_抚顺x射线扫描仪设备,x-ray设备厂家报价单-老友网
  10. mybatis-plus中的分页查询