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


猜你喜欢
- 如果您要显示敏感数据,例如。钱包金额,或者只是当登录表单显示插入的密码清晰时(想想眼睛图标..),当您不在应用程序中时,您必须隐藏敏感数据。
- Android 自定义View实现抽屉效果说明这个自定义View,没有处理好多点触摸问题View跟着手指移动,没有采用传统的scrollBy
- SpringBoot2.x过后static下的静态资源无法访问package com.example.thymeleaf.commons;i
- MybatisPlus特性•无侵入:只做增强不做改变,引入它不会对现有工程产生影响,如丝般顺滑•损耗小:启动即会自动注入基本 CURD,性能
- 背景ELMAH就是一个日志的拦截和处理组件,说到.net的日志组件,大家的第一反应该是Log4Net、NLog等这些东西,关于Log4Net
- Springboot 整合 RocketMQ 收发消息创建springboot项目pom.xml添加rocketmq-spring-boot
- 一. 简介 俩个数据库db1,db2, db1数据库的map
- 1.简介学了几周的Java,闲来无事,写个乞丐版的扫雷,加强一下Java基础知识。2.编写过程编写这个游戏,一共经历了三个阶段,编写了三个版
- 本文实例讲述了Java设计模式之抽象工厂模式。分享给大家供大家参考,具体如下:具体工厂类:生产创建某一类具体产品对象。抽象产品类可以使用接口
- 正文前: 1. IDEA内存优化(秒开的快感!!)因机器本身的配置而配置:\IntelliJ IDEA8\bin\idea.exe.vmop
- 当CLR未能分配所需的足够内存时,将发生System.OutOfMemoryException。System.OutOfMemoryExce
- Java 切割字符串的几种方式//以data 为案例参数。String data = "2019-01-
- 1、 在Java1.7之前,我们需要通过下面这种方法, 在finally中释放资源,这种方法有点繁琐。 BufferedReader br
- RPC,即 Remote Procedure Call(远程过程调用),说得通俗一点就是:调用远程计算机上的服务,就像调用本地服务一样。RP
- Feature: 点击选择拍照或者打开相册,选取图片进行裁剪最后设置为圆形头像。Problem: 拍好照片,点击裁剪,弹Toast“无法加载
- SpringBoot 中配置redis作为session 缓存器。 让shiro引用本文是建立在你是使用这shiro基础之上的补充内容第一种
- 学会了技术就要使用,否则很容易忘记,因为自然界压根就不存在什么代码、变量之类的玩意,这都是一些和生活常识格格不入的东西。只能多用多练,形成肌
- 开篇本文主要来探讨一下 redis 的单线程模型,文章前半部分会先引用某网络课程讲解的内容(图片+语言描述),后半部分是本人粗略阅读 red
- 本文实例讲述了android编程之ip2id程序。分享给大家供大家参考。具体分析如下:一、说明:公司一个项目中需要给一系列网络设备分配id号
- Kotlin中的面向对象面向对象面向对象的含义大家应该并不陌生,通过将事物抽象成对象,大大简化了程序的开发难度。我们常用的Java、Pyth