如何给JavaBean赋默认值且转Json字符串
发表于:2025-11-08 作者:千家信息网编辑
千家信息网最后更新 2025年11月08日,这篇文章主要介绍了如何给JavaBean赋默认值且转Json字符串的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇如何给JavaBean赋默认值且转Json字符串文章都会有
千家信息网最后更新 2025年11月08日如何给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 static Object 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安全错误
数据库的锁怎样保障安全
分布式数据库复习题
维护网络安全网络英雄人物
阿帕奇数据库如何转移到rds
个人网络安全设计方案
小学生网络安全调查结果
逆向工程数据库
数据库的图片是什么
网络安全宣传标语28字
柬埔寨软件开发28k
计算机网络安全科技馆南京
张家口软件开发自学网哪个好
沈阳市鼎创互联网科技有限公司
学计算机网络技术要花多少钱
银行软件开发书籍
opc服务器有哪些
简述数据库系统的检索步骤
管理软件开发要学什么
自己查重会录入数据库吗
ibm服务器hdd灯亮
平谷区专业软件开发介绍
银川网络安全宣传倡议书
43岁找工作 软件开发
手机原神换服务器怎么换
河南租服务器哪个公司靠谱云空间
达梦数据库修改表锁超时
软件开发工程师考试题
管理人才数据库
微信小软件开发岗位说明书
网络加速服务器分享
公安部网络安全网址