将bean转换成键值列表
日常开发中在进行接口对接的数据传输时,有一种场景是将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转换成键值列表相关推荐
- python 如何将字符串数字列表转换成数字列表,如何将数字列表转换成字符串数字列表?map(eval,list(str))
字符串数字列表转换成数字列表 # -*- encoding: utf-8 -*- """ @File : test.py @Time : 2019/10/28 23:37 ...
- C#编程,输入里程数和耗油量,计算每升的里程数,程序中使用异常处理器,当输入的里程数或耗油量无法转换成double值时处理FormatException。
C#编程,输入里程数和耗油量,计算每升的里程数,程序中使用异常处理器,当输入的里程数或耗油量无法转换成double值时处理FormatException.
- 将fer2013转成图片,删选图片后生成新数据集(图像转换成像素值以csv存储)
前段时间做实验涉及到将fer2013数据集,fer2013数据集中存在一些非人脸,标签错误的图像.为了提高实验准确性,我将fer2013转换成图片,进行筛选删除后,把新的数据集转换成跟fer2013格 ...
- 键盘按键VK键值列表及宏定义
VK键值列表及宏定义 /* * Virtual Keys, Standard Set */ #define VK_LBUTTON 0x01 #define VK_RBUTTON ...
- VC键盘VK键值列表
键盘VK键值列表 /* Virtual Keys, Standard Set*/ VK_LBUTTON 0x01 VK_RBU ...
- 什么是BCD码?BCD码的用处。怎么把BCD码转换成二进制值?
含义:用4位二进制数来表示数值中的1位(十进制数中的0~9这10个数字),简称BCD码,即BCD代码 也可以这样理解:就是将十进制的数以8421的形式展开成二进制(14 以8421形式展现成二进制就是 ...
- 颜色的整数值转换成RGB值
最近在研究使用Python操作Excel自动化的过程中,我遇到了一个小问题.为了弄清楚Excel在设置单元格条件格式时候所用的颜色,我使用VBA录制了宏命令,但是单元格和字体的颜色都是使用整数值进行标 ...
- Android 键盘键名和键值列表
转载自:https://blog.csdn.net/mazhidong/article/details/79567306 Android 键盘键名和键值列表 小小小程序元 2018-03-15 14: ...
- android键值列表,Android Json不规则键值解析与转换
简述 在Android开发的时候,通过网络请求获取后台返回数据与上传数据给后台是十分常见的.有时候,我们会遇到需要解析和传递特殊键值的Json,对于这种情况,引出了本次要讲诉的内容. Json数据解析 ...
- python输出键值列表_Python 键值分组或分区数据
Python 使用键值分组或者分区数据,对分组后的数据做何种归约是没有限制的.数据中可能包含一些自变量或者因变量.可以通过自变量对数据进行分区,然后计算每个分区的各项汇总值,包括最大值.最小值.平均值 ...
最新文章
- MyBatis点滴积累
- YOLOS:重新思考Transformer的泛化性能
- 二、【绪论】算法和算法评价
- 如何在Elasticsearch中进行深分页
- log4j 调试时候配置
- socket可以写成单例嘛_精读设计模式 Singleton 单例模式
- 【Elasticsearch】es node 节点
- 类人猿X64安卓手游封包技术教程(主要易语言+个别C++)
- Android Gradle plugin requires Java 11 to run. You are currently using Java 1.8.
- 项目工程设计图纸内容规范
- uni-app APP支付 uni.requestPayment APP微信支付
- 第五章 数组程序(Ivor Horton)
- Jquery电子签名制作_jSignature
- 【数据库】GaussDB客户端工具介绍
- 细菌如何交流和占地盘——细菌的群体感应和生物膜
- 面试被问到如何设计微信钉钉后端高并发IM架构?懵了.....
- RK3399学习笔记 1.0.3---python环境 Firefly Core-3399pro-jd4 Win10上RKNN工具安装
- TCP/IP网络编程_第6章基于UDP的服务器端/客户端
- linux-为php添加curl扩展
- 《六顶思考帽》读书笔记
热门文章
- 广播的接收与U盘广播
- Nebula3渲染层: Graphics
- WebService:JAX-WS实现WebService
- memcached—认识Memcache
- mybatis传参总结
- Python(含PyCharm及配置)下载安装以及简单使用(Idea)
- 使用Connector/C++操作MySQL
- c#获取本地ip地址网关子网掩码_C#设置本地网络如DNS、网关、子网掩码、IP等等...
- 笔记本电脑报价单_抚顺x射线扫描仪设备,x-ray设备厂家报价单-老友网
- mybatis-plus中的分页查询