From 936d9ee5737afcf1bded547373e13a347b3f855d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=BD=AE=E5=AD=90=E5=93=A5?= Date: Tue, 16 Jan 2024 10:38:48 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E4=B8=8D=E5=90=8C=20Json=20?= =?UTF-8?q?=E8=A7=A3=E6=9E=90=E6=A1=86=E6=9E=B6=E4=B9=8B=E9=97=B4=E7=9A=84?= =?UTF-8?q?=E5=AF=B9=E6=AF=94=E6=96=87=E6=A1=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 8518a1e..2371036 100644 --- a/README.md +++ b/README.md @@ -94,6 +94,23 @@ GsonFactory.setParseExceptionCallback(ParseExceptionCallback callback); -keep class com.hjq.gson.factory.** {*;} ``` +#### 不同 Json 解析框架之间的对比 + +| 功能或细节 | [GsonFactory](https://github.com/getActivity/GsonFactory) | [Gson](https://github.com/google/gson) | [moshi](https://github.com/square/moshi) | [FastJson](https://github.com/alibaba/fastjson) | +| :----: | :------: | :-----: | :-----: | :-----: | +| 对应版本 | 12.6 | 1.30.6 | 1.5.0 | 2.0.28 | +| issues 数 | [![](https://img.shields.io/github/issues/getActivity/GsonFactory.svg)](https://github.com/getActivity/GsonFactory/issues) | [![](https://img.shields.io/github/issues/google/gson.svg)](https://github.com/google/gson/issues) | [![](https://img.shields.io/github/issues/square/moshi.svg)](https://github.com/square/moshi/issues) | [![](https://img.shields.io/github/issues/alibaba/fastjson.svg)](https://github.com/alibaba/fastjson/issues) | +| 框架体积 | 60 KB + 283 KB | 283 KB | 162 KB | 188 KB | +| 框架维护状态 | 维护中 | 维护中 | 维护中 | 停止维护 | +| 解析错误类型数据时是否能不报错 | ✅ | ❌ | ❌ | ✅ | +| 解析到错误类型数据时是否能往下解析其他字段 | ✅ | ❌ | ❌ | ❌ | +| 解析错误类型数据时是否能对数据进行智能转换 | ✅ | ❌ | ❌ | ❌ | +| 适配 kotlin data class 字段上的默认值 | ✅ | ❌ | ✅ | ✅ | +| 适配 kotlin data class 非空无默认值字段 | ✅ | ❌ | ❌ | ❌ | +| 是否有跳过解析 Json 中的 null 值(避免空指针) | ✅ | ❌ | ❌ | ✅ | +| 是否支持解析 `org.json.JSONObject` 类型 | ✅ | ❌ | ❌ | ❌ | +| 是否支持解析 `org.json.JSONArray` 类型 | ✅ | ❌ | ❌ | ❌ | + #### 数据类型容错介绍 * 目前支持容错的数据类型有: @@ -223,7 +240,7 @@ import com.google.gson.Gson import com.hjq.gson.factory.GsonFactory ``` -``` +```text // 再手动处理一些没有替换成功的 new GsonBuilder() ```