如何给JavaBean赋默认值且转Json字符串
发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,这篇文章主要介绍了如何给JavaBean赋默认值且转Json字符串的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇如何给JavaBean赋默认值且转Json字符串文章都会有
千家信息网最后更新 2026年11月02日如何给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安全错误
数据库的锁怎样保障安全
科技互联网
广东万易互联网科技有限公司惠州分公司
盈实互联网科技
互联网科技金融
迪茉互联网科技
唐信互联网科技 大连
掌上梦互联网科技
互联网科技网站
互联网科技论坛
国外互联网科技网站
互联网科技股有哪些
互联网科技类展会
团飞科技与伯堂互联网服务平台
世界互联网科技公司市值排名
崇明区互联网教育科技诚信经营
互联网与医疗科技
工业互联网山东科技大学
易租星互联网科技有限公司
米泉互联网科技专业怎么样
杭州科技互联网公司有哪些
湖北九亚互联网络科技有限公司
新华互联网科技
互联网巨头科技公司
互联网与科技金融数据
互联网络科技有限公司
齐家互联网科技
上海致骋互联网科技
来此购互联网科技有限公司
下一代互联网重大应用科技园
互联网领先科技活动