Google GSON 基础教程 - 简介

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 解析器。

关于   |   FAQ   |   我们的愿景   |   广告投放   |  博客

  简单教程,简单编程 - IT 入门首选站

Copyright © 2013-2018 简单教程 twle.cn All Rights Reserved.