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与c#的语法区别详细介绍

    java与c#的语法区别详细介绍

    由C#转入Java一段时间了,总结下个人认为的Java同C#语法之间的不同之处,有不同意见之处还望各位海涵,刚学Java时觉得语法同C#大致是相同的(应该说C#同Java大致相同
    2012-11-11
  • RocketMQ消息队列实现随机消息发送当做七夕礼物

    RocketMQ消息队列实现随机消息发送当做七夕礼物

    这篇文章主要为大家介绍了RocketMQ消息队列实现随机消息发送当做七夕礼物,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-08-08
  • Java异常处理实例教程

    Java异常处理实例教程

    这篇文章主要为大家分享一份非常详细的Java异常处理实例教程,帮助大家更好的学习java异常处理,感兴趣的小伙伴们可以参考一下
    2016-02-02
  • SpringBoot中使用Redis对接口进行限流的实现

    SpringBoot中使用Redis对接口进行限流的实现

    本文将结合实例代码,介绍SpringBoot中使用Redis对接口进行限流的实现,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-07-07
  • SpringBoot中的多个事务管理详解

    SpringBoot中的多个事务管理详解

    这篇文章主要介绍了SpringBoot中的多个事务管理详解,事务管理是一种组织和协调各种活动和资源的方法,以实现特定目标,它涉及规划、执行和监控各种任务,以确保项目或组织的顺利运行,需要的朋友可以参考下
    2023-10-10
  • Spring中的spring.factories文件用法(Spring如何加载第三方Bean)

    Spring中的spring.factories文件用法(Spring如何加载第三方Bean)

    这篇文章主要介绍了Spring中的spring.factories文件用法(Spring如何加载第三方Bean),具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-10-10
  • 浅谈Java设计模式之七大设计原则

    浅谈Java设计模式之七大设计原则

    在此之前,我已经写过很多篇关于设计模式的文章.但都比较草草的理解和简单的实现,并未深入理解.为了更加深入感受Java设计的魅力,编程的艺术,今天进行了七大设计原则的学习理解,后续进行23种设计模式的深入学习探究,需要的朋友可以参考下
    2021-05-05
  • java报错:找不到或无法加载主类的解决方法简单粗暴

    java报错:找不到或无法加载主类的解决方法简单粗暴

    本文主要介绍了java报错:找不到或无法加载主类的解决方法简单粗暴,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-01-01
  • 关于Hadoop的HDFS集群

    关于Hadoop的HDFS集群

    这篇文章主要介绍了关于Hadoop的HDFS集群,Hadoop 如何配置集群、不同的计算机里又应该有怎样的配置,这些问题是在学习中产生的。本章的配置中将会提供一个典型的示例,需要的朋友可以参考下
    2023-05-05
  • Java8学习教程之lambda表达式语法介绍

    Java8学习教程之lambda表达式语法介绍

    众所周知lambda表达式是JAVA8中提供的一种新的特性,它支持Java也能进行简单的“函数式编程”。 下面这篇文章主要给大家介绍了关于Java8学习教程之lambda表达式语法的相关资料,需要的朋友可以参考下。
    2017-09-09

最新评论