返回顶部
首页 > 资讯 > 精选 >如何给JavaBean赋默认值且转Json字符串
  • 289
分享到

如何给JavaBean赋默认值且转Json字符串

2023-06-29 08:06:22 289人浏览 独家记忆
摘要

这篇文章主要介绍了如何给JavaBean赋默认值且转JSON字符串的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇如何给JavaBean赋默认值且转json字符串文章都会有所收获,下面我们一起来看看吧。JavaB

这篇文章主要介绍了如何给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; 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 <T> 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依赖

<!--jackson 2.x版本依赖--><dependency>    <groupId>com.fasterxml.jackson.core</groupId>    <artifactId>jackson-annotations</artifactId>    <version>2.8.1</version></dependency><dependency>    <groupId>com.fasterxml.jackson.core</groupId>    <artifactId>jackson-core</artifactId>    <version>2.8.6</version></dependency><dependency>    <groupId>com.fasterxml.jackson.core</groupId>    <artifactId>jackson-databind</artifactId>    <version>2.8.6</version></dependency><!--junit依赖--><dependency>    <groupId>junit</groupId>    <artifactId>junit</artifactId>    <version>4.12</version></dependency>

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依赖

<!--gson依赖--><dependency>    <groupId>com.google.code.gson</groupId>    <artifactId>gson</artifactId>    <version>2.2.4</version></dependency><!--junit依赖--><dependency>    <groupId>junit</groupId>    <artifactId>junit</artifactId>    <version>4.12</version></dependency>

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字符串”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注编程网精选频道。

--结束END--

本文标题: 如何给JavaBean赋默认值且转Json字符串

本文链接: https://lsjlt.com/news/323815.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 如何给JavaBean赋默认值且转Json字符串
    这篇文章主要介绍了如何给JavaBean赋默认值且转Json字符串的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇如何给JavaBean赋默认值且转Json字符串文章都会有所收获,下面我们一起来看看吧。JavaB...
    99+
    2023-06-29
  • 给JavaBean赋默认值并且转Json字符串的实例
    目录JavaBean赋默认值并转Json字符串此段代码还有值得优化的地方javaBean对象和Json格式字符串相互转换一.使用Jackson工具类二.使用Gson工具类JavaBe...
    99+
    2024-04-02
  • c++中如何给字符串赋值
    c++ 中给字符串赋值有以下方法:1. 直接初始化;2. 赋值运算符;3. 复制构造函数;4. 字面量;5. 从字符数组赋值;6. 从 stringstream 赋值。 C++ 中给字...
    99+
    2024-05-06
    c++
  • string字符串如何赋值
    字符串可以通过以下几种方式进行赋值:1. 直接赋值:可以使用双引号或单引号将字符串括起来,赋值给变量。```pythons = "H...
    99+
    2023-08-18
    string
  • sql如何给字段添加默认值
    要给字段添加默认值,可以使用ALTER TABLE语句的ALTER COLUMN子句来修改表的结构。以下是一些常见的示例:1. 在创...
    99+
    2023-10-20
    sql
  • mysql如何给字段设置默认值
    在创建表时,可以在字段定义中使用DEFAULT关键字来设置默认值。例如: CREATE TABLE table_name ( ...
    99+
    2024-04-09
    mysql
  • Python中如何给字典设置默认值
    目录Python字典设置默认值初始化的时候设定默认值(defaultdict 或 dict.fromkeys)获取值之前的时候设定默认值(setdefault(key, defaul...
    99+
    2023-02-21
    Python字典 字典设置默认值 Python字典默认值
  • oracle如何给表字段加上默认值
    要给表字段加上默认值,可以使用ALTER TABLE语句来修改表结构。下面是一个示例: ALTER TABLE table_name...
    99+
    2024-04-09
    oracle
  • c语言如何给数组赋字符串
    在C语言中,可以通过以下两种方式给数组赋字符串: 使用字符数组进行赋值: char str[10]; // 声明一个长度为10的...
    99+
    2024-02-29
    c语言
  • JS对象如何转JSON字符串
    这篇文章主要介绍“JS对象如何转JSON字符串”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“JS对象如何转JSON字符串”文章能帮助大家解决问题。使用JSON.stringify()方法您可以使用该...
    99+
    2023-06-26
  • php如何转换json为字符串
    这篇“php如何转换json为字符串”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“php如何转换json为字符串”文章吧。一...
    99+
    2023-07-06
  • jackson 如何将实体转json json字符串转实体
    目录将实体转json json字符串转实体实体转jsonjson转实体使用Jackson操作json数据,各场景实例1. 对象(示例为 UserEntity)转 json 数据2. ...
    99+
    2024-04-02
  • Java中如何将字符串转换为JSON格式字符串
    Java中如何将字符串转换为JSON格式字符串 在Java编程中,我们经常需要处理JSON数据格式。有时候,我们需要将一个普通的字符串转换为JSON格式的字符串。幸运的是,Java提供了多种方法来实现...
    99+
    2023-10-23
    java json python Java
  • 如何将json字符串数组转为php字符串数组
    这篇文章主要介绍“如何将json字符串数组转为php字符串数组”,在日常操作中,相信很多人在如何将json字符串数组转为php字符串数组问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何将json字符串数组转...
    99+
    2023-07-05
  • json字符串如何转为php变量
    这篇文章主要为大家展示了“json字符串如何转为php变量”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“json字符串如何转为php变量”这篇文章吧。在php中,可以利用json_decode(...
    99+
    2023-06-25
  • php数组如何转成json字符串
    这篇文章主要介绍“php数组如何转成json字符串”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“php数组如何转成json字符串”文章能帮助大家解决问题。一、PHP数组格式在PHP语言中,数组是一种...
    99+
    2023-07-06
  • javascript如何将值转为字符串
    这篇文章将为大家详细讲解有关javascript如何将值转为字符串,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。转换方法:1、使用“+”运算符结合空字符串,语法“值+''”;2、使用模板字...
    99+
    2023-06-15
  • vb如何定义字符串数组并赋值
    在VB中,可以使用`Dim`关键字来定义字符串数组,并使用大括号`{}`来为数组赋值。例如,以下代码定义了一个名为`strArray...
    99+
    2023-08-08
    vb
  • es6如何将json字符串转为对象
    这篇文章主要介绍“es6如何将json字符串转为对象”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“es6如何将json字符串转为对象”文章能帮助大家解决问题。转换步...
    99+
    2024-04-02
  • php如何将字符串转为json数据
    小编给大家分享一下php如何将字符串转为json数据,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!php将字符串转为json数据的方法:首先使用explode()...
    99+
    2023-06-08
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作