Gson之toJson和fromJson方法的具体使用

 更新时间:2021年11月11日 16:05:52   作者:Archie_java  
Gson是Google的一个开源项目,可以将Java对象转换成JSON,也可能将JSON转换成Java对象。本文就详细的介绍了toJson和fromJson方法的具体使用,感兴趣的可以了解一下

Gson是Google的一个开源项目,可以将Java对象转换成JSON,也可能将JSON转换成Java对象。

Gson里最重要的对象有2个Gson 和 GsonBuilder

Gson有2个最基本的方法

  • toJson() – 转换java 对象到JSON
  • fromJson() – 转换JSON到java对象

引入依赖:pom.xml文件中加入

<!-- https://mvnrepository.com/artifact/com.google.code.gson/gson -->
<dependency>
    <groupId>com.google.code.gson</groupId>
    <artifactId>gson</artifactId>
    <version>2.8.5</version>
</dependency>

1.toJson()方法是实现从java实体到Json相关对象的方法

(1)将对象转换为json字符串

Gson gson =new Gson();

User user = new User(123,"zy");

String str = gson.toJson(user);

System.out.println(str);

输出结果为

img

(2)将map集合转变为json字符串

Gson gson1 =new Gson();

Map<Integer, String> map= new HashMap<Integer, String>();

map.put(11, "zy");

map.put(12, "zz");

String str1 = gson1.toJson(map);

System.out.println(str1);

输出结果为

img

2.fromJson()方法来实现从Json相关对象到java实体的方法

(1)将json字符串转换为java对象

Gson gson =new Gson();

User user = new User(123,"zy");

//将对象转为json字符串

String str = gson.toJson(user);

//再由json字符串转为java对象,通过get方法得到对象里的值

User fromJson = gson.fromJson(str, User.class);

System.out.println(fromJson.getAge()+"......"+fromJson.getName());

输出结果为

img

(2)将json字符串转换为map集合

Gson gson =new Gson();

Map<Integer, String> map= new HashMap<Integer, String>();

map.put(11, "zy");

map.put(12, "zz");

//将map集合转换为json字符串

String str = gson.toJson(map);

//将json字符串转换为map集合

Type type = new TypeToken<Map<Integer, String>>() {

}.getType();

Map<Integer, String> map1 = gson.fromJson(str, type);

//遍历map集合

for (Integer key : map1.keySet()) {

System.out.println("key="+key+"\tvalue="+map1.get(key));

}

输出结果为

img

到此这篇关于Gson之toJson和fromJson方法的具体使用的文章就介绍到这了,更多相关Gson toJson和fromJson方法内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Java Spring中Bean的作用域及生命周期

    Java Spring中Bean的作用域及生命周期

    这篇文章主要介绍了Java Spring中Bean的作用域及生命周期,Bean的作用域默认是单例模式的,也就是说所有⼈的使⽤的都是同⼀个对象,更多相关内容需要的朋友可以参考一下
    2022-08-08
  • Springboot HTTP如何调用其他服务

    Springboot HTTP如何调用其他服务

    这篇文章主要介绍了Springboot HTTP如何调用其他服务,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-01-01
  • logback的addtivity属性定义源码解读

    logback的addtivity属性定义源码解读

    这篇文章主要为大家介绍了logback的addtivity属性定义源码解读,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-11-11
  • Java 入门图形用户界面设计之列表框JList

    Java 入门图形用户界面设计之列表框JList

    图形界面(简称GUI)是指采用图形方式显示的计算机操作用户界面。与早期计算机使用的命令行界面相比,图形界面对于用户来说在视觉上更易于接受,本篇精讲Java语言中关于图形用户界面的列表框JList
    2022-02-02
  • 解决mybatis中order by排序无效问题

    解决mybatis中order by排序无效问题

    这篇文章主要介绍了解决mybatis中order by排序无效问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-12-12
  • Spring中ApplicationContextAware的使用方法详解

    Spring中ApplicationContextAware的使用方法详解

    ApplicationContextAware 通过它Spring容器会自动把上下文环境对象调用ApplicationContextAware接口中的setApplicationContext方法,这篇文章主要介绍了Spring中ApplicationContextAware的作用,需要的朋友可以参考下
    2023-03-03
  • mybatis之嵌套查询和嵌套结果有哪些区别

    mybatis之嵌套查询和嵌套结果有哪些区别

    这篇文章主要介绍了mybatis之嵌套查询和嵌套结果有哪些区别,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-03-03
  • Mybatis实现关联关系映射的方法示例

    Mybatis实现关联关系映射的方法示例

    本文主要介绍了Mybatis实现关联关系映射的方法示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-07-07
  • Spring框架学习常用注解汇总

    Spring框架学习常用注解汇总

    这篇文章主要为大家介绍了Spring框架学习中一些经常用的注解汇总及示例解析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步
    2021-10-10
  • 浅谈Springmvc中的页面跳转问题

    浅谈Springmvc中的页面跳转问题

    这篇文章主要介绍了浅谈Springmvc中的页面跳转问题,具有一定参考价值,需要的朋友可以了解下。
    2017-12-12

最新评论