Java使用GSON对JSON进行解析——IDEA引入jar包方式
GSON
GSON是Google公司开发的用于解析json的类库。可以很轻松地让程序员将java对象转换成JSON格式,或者将JSON格式的对象转换成Java对象。
使用方法很简单:
首先,需要将GSON类库的jar包引入到自己的IDE中,本教程使用IDEA为例子。
引入依赖即可,本次不引入依赖,学习一下IDEA怎么引入一个jar包。
1.下载GSON的jar包
GSON的github地址:https://github.com/google/gson/
GSON的下载地址:https://search.maven.org/artifact/com.google.code.gson/gson/2.8.6/jar
在下载地址页面中的右上角点击Downloads,并选择jar。
等待下载完毕即可。
2.在IDEA中引入GSON的jar包
在IDEA中创建或者打开一个java项目。
然后右键选择自己的项目,选择New,选择Directory。
创建完这个文件夹,给它命名为“lib”。
然后将刚刚下载好的jar包移动到lib文件夹中。
然后选择File,选择Project Structure。
弹出的窗口中选择Libraries,选择“+”,选择Java
然后找到并选择之前创建好的lib文件夹,选择OK
这里选择Cancel
可以看到lib文件夹被添加了进来。
然后选择左边菜单中的Modules,选择Dependencies分页,选择“+”,选择Library…
选择lib,然后Add Selected
然后选择OK
至此jar包的引用就完成了。
3.测试是否引入成功
创建一个主类,并添加这个包:“com.google.gson.Gson”。如果没有报错,那么就说明引入成功了。
4.使用Gson解析JSON字符串
现在准备工作就已经做完了,接下来是如果使用Gson。
对象 -> JSON字符串
如果想将java对象转换为JSON格式,需要使用Gson对象的toJson方法,方法参数传入需要转换的对象,就会返回字符串形式的JSON。
例如:
public class Main {
public static void main(String[] args) throws IOException{
//创建一个Person对象
Person p1 = new Person("小明", 20);
//创建匿名的Gson对象,并调用toJson方法,传入的参数是想要转换的对象,返回值是转化完毕的json格式字符串。
String json = new Gson().toJson(p1);
//打印字符串
System.out.println(json);
}
}
运行结果:
JSON字符串 -> 对象
如果想将JSON字符串转换成java对象,也就是和刚才相反。操作类似,需要使用Gson对象的fromJson的方法,参数1传入需要转换的字符串,参数2传入对象的类型(类名.class)。
public class Main {
public static void main(String[] args) throws IOException{
// 如果需要转换: {"name":"小明","age":20}
Person p = new Gson().fromJson("{\"name\":\"小明\",\"age\":20}", Person.class);
System.out.println(p.getName());
System.out.println(p.getAge());
}
}
运行结果:
另外也可以将Json字符串转换为Map集合,这样就不必为了接受一个JSON对象而写一个类。
例如:
public class Main { public static void main(String[] args) throws IOException{ // 如果需要转换: {"name":"小明","age":20} HashMap map = new Gson().fromJson("{\"name\":\"小明\",\"age\":20}", HashMap.class); System.out.println("姓名:" + map.get("name")); System.out.println("年龄:" + map.get("age")); }}
运行结果:
相关文章
- java数组的声明_Java数组定义常用方法[通俗易懂]
- java中打印数组的方法_Java数组方法–如何在Java中打印数组
- java启动器_JAVA基础:Java 启动器如何查找类
- java编程软件下载_Ee Java(Java编程软件) V1.1.0 官方版
- 什么是java虚拟机(Java Virtual Machine)?
- java高级工程师_一名Java高级工程师需要学什么?
- MySQL字段类型如何转为java_Java JDBC中,MySQL字段类型到JAVA类型的转换
- java简易小游戏[通俗易懂]
- 【Java】jar启动的java程序报错FileNotFoundException
- 一线开发大牛带你深入探讨虚拟机运行时的java线程模型
- idea导出可执行jar包真麻烦_java导出可执行程序
- idea创建java项目的步骤_Java为什么新建不了项目
- java进度条代码,java进度条代码该怎么编写?「建议收藏」
- Java为什么不支持多继承
- 【错误记录】生成 Java 文档错误 ( Xxx.java:xx: 错误: 编码GBK的不可映射字符 )
- 图片缩放的Java类详解编程语言
- Java学习笔记之三java中的变量和常量详解编程语言
- java 标准输出与标准错误 out与 err 区别 用法 联系 java中的out与err区别 System.out和System.err的区别 System.out.println和System.err.println的区别 Java重定向System.out和System.err详解编程语言
- Java远程登录Linux服务器入门指南(java远程linux)
- 时间使用Java设置Redis中Key的过期时间(redisjava过期)
- 解决Java程序MySQL驱动问题,下载MySQL JAR包.(mysql驱动jar包)
- Linux下快速安装Java开发环境(linux安装java)
- Java操作Linux系统:让命令行更轻松(java操作linux)
- 使用Java实现MySQL数据恢复操作(java恢复mysql)
- 如何在Linux系统下运行Jar文件(linux执行jar文件)
- 查找Java进程:Linux解决方案(linux查找java进程)
- Java与Oracle构筑完美的编程世界(Java跟oracle)
- Oracle中实现Java程序设计的极限可能性(oracle中的java)
- Oracle7 Jar包引领Java语言新技术突破(oracle7 jar包)
- Java消息处理实践突破性技术Redis(redis消息 java)
- java实现文件复制、剪切文件和删除示例