专注于 JetBrains IDEA 全家桶,永久激活,教程
持续更新 PyCharm,IDEA,WebStorm,PhpStorm,DataGrip,RubyMine,CLion,AppCode 永久激活教程

二、Google GSON 基础教程 - 简介

文章永久连接:https://tech.souyunku.com/5518

GSON 是 Google 提供的,开源的,用来在 Java 对象和 JSON 数据之间进行映射的 Java 类库。可以将一个 JSON 字符转成一个 Java 对象,或者将一个 Java 转化为 JSON 字符串。

Gson 可以处理任意 Java 对象,包括那些没有源代码存在的,已经编译成 .class.jar 的对象

其实 Java JSON 库有很多,比如 Jackson 、JSON-lib、Flexjson 等等,所以,有一个疑问:

为什么我们要选择 Google GSON ?

站在 Google GSON 创建者的角度,它们认为 「 大多数 Java JSON 库都需要首先在类中添加 Java 注解 」,如果无法访问源代码,那么肯定凉凉,没办法给类添加注解。

站在 Java GSON 使用者的角度,因为 GSON 是 Google 出品啊…..

哈哈,客观一点,Google GSON 的设计目标是:

  • 只提供简单的接口:

  • toJson() 用于将 Java 对象转换为 JSON

  • fromJson() 用于将 JSON 转换为 Java 对象
  • 允许将已经编译的、已经存在的不可修改对象转换为 JSON 和从 JSON 转换
  • 支持泛型 - 它为泛型提供了广泛的支持
  • 允许定制 Java 对象到 JSON 的结果
  • 支持复杂的内部类 - 它支持具有深度继承层次结构的复杂对象

Google Gson 特点

好像,我也曾经被问到为什么不使用 Jackson 或者国人开发的那个库。

我能说出一些理由,比如下面这些,但它们看起来又不是理由

  • 易于使用 - Gson API 提供了一个高级外观来简化常用的用例
  • 无需创建映射 - Gson API 为大部分要序列化的对象提供了默认映射
  • 性能优 - Gson 速度相当快,内存占用量低。 它适用于大型对象图或系统
  • 干净JSON - Gson 创建一个干净而紧凑的 JSON 结果,它易于阅读
  • 无依赖性— Gson 库不需要 JDK 以外的任何其他库
  • 开源 – Gson 库是开源的; 它是免费提供的

Google JSON 处理 JSON 的几种方法

从简单到复杂,Google GSON 提供了三种处理 JSON 的方法:

1、 数据绑定

这种方式使用属性访问器将 JSON 转换为 POJO ( 普通旧 Java对象 )并从中转换

Gson 使用数据类型适配器读取/写入 JSON

这是最为简单的一种方式,类似于 XML 的 JAXB 解析器
2、 树模型

这种方式构建了一个 JsonObject 节点树,以内存树的方式来表示 JSON 文档

这种方式,类似于 XML 的 DOM 解析器
3、 流 ( Stream ) API

这些 API 将读取和写入 JSON 内容作为离散事件

提供了 JsonReaderJsonWriter 类用于读取/写入一种称之为 JsonToken 令牌的数据

这是 Google GSON 提供的最为强大的处理方法,开销低、读取/写入速度快。

这种方式,有点类似于 XML 的 Stax 解析器。

干货推荐

本站推荐:精选优质专栏

附录:Google GSON :系列文章

未经允许不得转载:搜云库技术团队 » 二、Google GSON 基础教程 - 简介

JetBrains 全家桶,激活、破解、教程

提供 JetBrains 全家桶激活码、注册码、破解补丁下载及详细激活教程,支持 IntelliJ IDEA、PyCharm、WebStorm 等工具的永久激活。无论是破解教程,还是最新激活码,均可免费获得,帮助开发者解决常见激活问题,确保轻松破解并快速使用 JetBrains 软件。获取免费的破解补丁和激活码,快速解决激活难题,全面覆盖 2024/2025 版本!

联系我们联系我们