Gson之toJson和fromJson方法的具体使用
作者:Archie_java 发布时间:2021-07-20 16:28:47
标签:Gson,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);
输出结果为
(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);
输出结果为
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());
输出结果为
(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));
}
输出结果为
来源:https://blog.csdn.net/qq_43842093/article/details/121258638
0
投稿
猜你喜欢
- 理解枚举类型枚举类型是Java 5中新增特性的一部分,它是一种特殊的数据类型,之所以特殊是因为它既是一种类(class)类型却又比类类型多了
- 属性问题引入前面我们已经在父工程中的dependencyManagement标签中对项目中所使用的jar包版本进行了统一的管理,但是如果在标
- 相关api见:点击进入/* * Copyright 2014 the original author or authors. * * Lic
- 使用过Mybatis的同学,应该都知道,我们只需要编写mybatis对应的接口和mapper XML文件即可,并不需要手动编写mapper接
- 现假设某个公司采用公用电话来传递数据,数据是四位的整数,在传递过程中是加密的。加密规则是每位数字都加上5,然后再用除以10的余数代替该数字,
- 介绍该系统有三个角色,分别是:普通用户、房屋中介、管理员。普通用户的功能:浏览房屋信息、预约看房、和中介聊天、申请成为中介等等。房屋中介的功
- 本文实例为大家分享了java实现文件夹解压和压缩的具体代码,供大家参考,具体内容如下效果实现多个文件以及文件夹的压缩和解压代码分析impor
- 记得上学的时候学习英语,每个英语老师说到英语翻译的时候都会说英语翻译要做到“信、达、雅”。如今做了一名程序员竟然体会我还是想用这三种境界来要
- spring validation多层对象校验1、第一层对象定义import java.io.Serializable; import ja
- 我想每个写项目的人,都肯定会遇到控制权限这个问题.例如这个这个链接只能管理员访问,那个链接丫只能超级管理员访问等等,实现方式也有多种多样,控
- 1.Object类里面常用的方法:protected Object clone()创建并返回此对象的一个副本。boolean equals(
- TM的作用我们根据源码解读画出了下图,该图示展现了TM在整个Seata AT模式的分布式事务中所起的作用:从上图中可以看出,TM主要有两个作
- 本文实例为大家分享了Javaweb统计在线人数示的具体代码,供大家参考,具体内容如下1. 实现功能统计在线人数显示每个人的sessionId
- 一、背景在Web应用开发中,经常需要使用图表来展示数据,而Echarts是一个非常优秀的图表库。SpringBoot是一个非常流行的Java
- 本文实例讲述了Java Swing中JTable渲染器与编辑器用法。分享给大家供大家参考,具体如下:JTable的内容、外观、事件响应在很大
- /** * 日期工具类 * 默认使用 "yyyy-MM-dd HH:mm:ss" 格式化日期&nbs
- 概述对List进行分组是日常开发中,经常遇到的,在JDK 8中对List按照某个属性分组的代码,超级简单。package test;impo
- 1. 创建全局异常处理器类GlobalExceptionHandler@ControllerAdvice: 定义统一的异常处理类,捕获 Co
- 本文实例讲述了Java Socket使用加密协议进行传输对象的方法。分享给大家供大家参考,具体如下:前面的几篇文章介绍了Socket中一些常
- 用Stream解决两层List属性求和假设一个人有很多个银行账户,每个银行账户中存有不同金额的存款,那么我们如何用Stream求一组人的所有