如何给JavaBean赋默认值且转Json字符串
发表于:2025-01-18 作者:千家信息网编辑
千家信息网最后更新 2025年01月18日,这篇文章主要介绍了如何给JavaBean赋默认值且转Json字符串的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇如何给JavaBean赋默认值且转Json字符串文章都会有
千家信息网最后更新 2025年01月18日如何给JavaBean赋默认值且转Json字符串
这篇文章主要介绍了如何给JavaBean赋默认值且转Json字符串的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇如何给JavaBean赋默认值且转Json字符串文章都会有所收获,下面我们一起来看看吧。
JavaBean赋默认值并转Json字符串
今日在工作中整理dubbo接口的时候,有些接口参数类型是JavaBean类型的数据,在整理的时候又想直接将JavaBean参数直接以默认的json格式整理,于是想到如何将javaBean的默认值 直接转换成为 Json格式的数据,避免自己手动去拼写json字符串。
此段代码还有值得优化的地方
暂时只支持Java基本数据类型的转换,不支持javaBean中包含其他javaBean对象变量的转换、也不支持List/Map等类型的转换,后期有空想办法优化,大家如果有优化好的代码也可以拿出来分享
废话不多说,直接上代码
package com.up.util.tools; import com.google.gson.Gson; import java.lang.reflect.Field;import java.lang.reflect.Method;import java.util.Date;import java.util.HashMap;import java.util.Map; /** * Created by *** on 2017-3-29 * TIME 11:07. */public class JavaBeanToJson { public static String toJson(Class clazz) throws Exception { Gson gson = new Gson(); String result = ""; if (clazz.equals(Map.class)) { result = clazz.getName() + "\t" + gson.toJson(new HashMap<>()); } else { Object object = clazz.newInstance(); object = getBean(object); result = clazz.getName() + "\t" + gson.toJson(object); } return result; } private staticObject getBean(T object) throws Exception { Class> classType = object.getClass(); //SqlRowSet srs = jdbcTemplate.queryForRowSet(sql); Field[] fields = classType.getDeclaredFields();//得到对象中的字段 //每次循环时,重新实例化一个与传过来的对象类型一样的对象 T objectCopy = (T) classType.getConstructor(new Class[]{}).newInstance(new Object[]{}); for (int i = 0; i < fields.length; i++) { Field field = fields[i]; String fieldName = field.getName(); Object value = null; //根据字段类型决定结果集中使用哪种get方法从数据中取到数据 if (field.getType().equals(String.class)) { value = ""; } else if (field.getType().equals(int.class) || field.getType().equals(Integer.class)) { value = new Integer(0); } else if (field.getType().equals(double.class) || field.getType().equals(Double.class)) { value = new Double(0); } else if (field.getType().equals(long.class) || field.getType().equals(Long.class)) { value = new Long(0); } else if (field.getType().equals(Date.class)) { value = new Date(); } else if (field.getType().equals(Object.class)) { value = new Object(); } // 获得属性的首字母并转换为大写,与setXXX对应 String firstLetter = fieldName.substring(0, 1).toUpperCase(); String setMethodName = "set" + firstLetter + fieldName.substring(1); if (fieldName.equals("serialVersionUID")) { continue; } Method setMethod = classType.getMethod(setMethodName, new Class[]{field.getType()}); setMethod.invoke(objectCopy, new Object[]{value});//调用对象的setXXX方法 } return objectCopy; }}
javaBean对象和Json格式字符串相互转换
一般前后端开发都是使用json格式的字符串进行交互的,所以javaBean对象转化为json格式字符串和json格式字符串转化为javaBean对象显的很有必要。
下面介绍两种方法:
一.使用Jackson工具类
1.pom依赖
com.fasterxml.jackson.core jackson-annotations 2.8.1 com.fasterxml.jackson.core jackson-core 2.8.6 com.fasterxml.jackson.core jackson-databind 2.8.6 junit junit 4.12
2.程序代码
package com.john.json; import com.fasterxml.jackson.databind.ObjectMapper;import org.junit.Test; import java.io.IOException; public class TestJackson { @Test public void testObjAndJson() throws IOException { Dog dog = new Dog(); dog.setName("樱桃"); dog.setAge(1); dog.setFood("小米"); //创建Jackson高级对象 ObjectMapper mapper = new ObjectMapper(); //对象转换为对应的json格式字符串 String json = mapper.writeValueAsString(dog); System.out.println(json); //json格式字符串转换为对应的对象 Dog dogBack = mapper.readValue(json, Dog.class); System.out.println(dogBack.getName()+"--"+dogBack.getAge()+"--"+dogBack.getFood()); }}
二.使用Gson工具类
1.pom依赖
com.google.code.gson gson 2.2.4 junit junit 4.12
2.程序代码
package com.john.json; import com.google.gson.Gson;import org.junit.Test; public class TestGson { @Test public void testObjAndJson() { Dog dog = new Dog(); dog.setName("妞妞"); dog.setAge(3); dog.setFood("大米"); //创建gson对象 Gson gson = new Gson(); //对象转化为对应的json格式字符串 String dogJson = gson.toJson(dog); System.out.println(dogJson); //json格式字符串转换为对应的对象 Dog dogBack = gson.fromJson(dogJson, Dog.class); System.out.println(dogBack.getName()+"--"+dogBack.getAge()+"--"+dogBack.getFood()); } }
关于"如何给JavaBean赋默认值且转Json字符串"这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对"如何给JavaBean赋默认值且转Json字符串"知识都有一定的了解,大家如果还想学习更多知识,欢迎关注行业资讯频道。
字符
字符串
对象
格式
类型
代码
数据
方法
知识
支持
内容
参数
字段
工具
接口
时候
程序
篇文章
高级
必要
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
手机对讲软件开发
数据库模糊查英文
柳州网络安全保卫支队支队长
江苏咔咔云网络技术有限公司
数据库可以存jar包么
数据库用户信息加密
网络安全在哪里学
电脑的安全接入服务器地址
建立一个资料数据库
js文件是什么软件开发
浙江鲜选云网络技术集团怎么样
web服务器访问爆满
云服务器怎么看源码
华为云服务器转移所有权
网络安全考证有那些
传奇租服务器怎么设置
想学网络技术做网络项目
中石化网络安全
数据库镜像技术的缺点
数据库送餐
福建推广网络技术服务费
win10数据库打开db软件
计算机网络技术政治优势
西青区项目网络技术售后保障
php数据库管理员登录
自主互助网络技术在线教学
宝山区服务器回收价格
app商城系统软件开发裤
电子期刊数据库的功能
数据库能不能存储文档信息