IDEA2023.1.3破解,IDEA破解,IDEA 2023.1破解,最新IDEA激活码

二、Google GSON 基础教程 – 简介

IDEA2023.1.3破解,IDEA破解,IDEA 2023.1破解,最新IDEA激活码

文章永久连接:https://tech.souyunku.com/?p=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 :系列文章


Warning: A non-numeric value encountered in /data/wangzhan/tech.souyunku.com.wp/wp-content/themes/dux/functions-theme.php on line 1154
赞(92) 打赏



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

IDEA2023.1.3破解,IDEA破解,IDEA 2023.1破解,最新IDEA激活码
IDEA2023.1.3破解,IDEA破解,IDEA 2023.1破解,最新IDEA激活码

评论 抢沙发

大前端WP主题 更专业 更方便

联系我们联系我们

觉得文章有用就打赏一下文章作者

微信扫一扫打赏

微信扫一扫打赏


Fatal error: Uncaught Exception: Cache directory not writable. Comet Cache needs this directory please: `/data/wangzhan/tech.souyunku.com.wp/wp-content/cache/comet-cache/cache/https/tech-souyunku-com/index.q`. Set permissions to `755` or higher; `777` might be needed in some cases. in /data/wangzhan/tech.souyunku.com.wp/wp-content/plugins/comet-cache/src/includes/traits/Ac/ObUtils.php:367 Stack trace: #0 [internal function]: WebSharks\CometCache\Classes\AdvancedCache->outputBufferCallbackHandler() #1 /data/wangzhan/tech.souyunku.com.wp/wp-includes/functions.php(5109): ob_end_flush() #2 /data/wangzhan/tech.souyunku.com.wp/wp-includes/class-wp-hook.php(303): wp_ob_end_flush_all() #3 /data/wangzhan/tech.souyunku.com.wp/wp-includes/class-wp-hook.php(327): WP_Hook->apply_filters() #4 /data/wangzhan/tech.souyunku.com.wp/wp-includes/plugin.php(470): WP_Hook->do_action() #5 /data/wangzhan/tech.souyunku.com.wp/wp-includes/load.php(1097): do_action() #6 [internal function]: shutdown_action_hook() #7 {main} thrown in /data/wangzhan/tech.souyunku.com.wp/wp-content/plugins/comet-cache/src/includes/traits/Ac/ObUtils.php on line 367