Java(41):Gson的使用

1、Gson介绍

Google的Gson
Gson是目前功能最全的Json解析神器,Gson当初是为因应Google公司内部需求而由Google自行研发而来,
但自从在2008年五月公开发布第一版后已被许多公司或用户应用。
Gson的应用主要为toJson与fromJson两个转换函数,无依赖,不需要例外额外的jar,能够直接跑在JDK上。
而在使用这种对象转换之前需先创建好对象的类型以及其成员才能成功的将JSON字符串成功转换成相对应的对象。
类里面只要有get和set方法,Gson完全可以将复杂类型的json到bean或bean到json的转换,是JSON解析的神器。
Gson在功能上面无可挑剔,但是性能上面比FastJson有所差距。


参考Gson教程:https://www.yiibai.com/gson
http://tutorials.jenkov.com/java-json/gson.html
http://tutorials.jenkov.com/java-json/gson-jsonparser.html
http://www.javashuo.com/article/p-tnxqtngm-ew.html

参考:https://blog.csdn.net/youwanname/article/details/77324769
https://www.cnblogs.com/yshyee/p/4393765.html 
Gson JsonParser的使用


2、Gson的使用


要在 Java 应用程序中使用 GSON,您需要在 Java 应用程序的类路径中包含 GSON JAR 文件。您可以通过将 GSON 作为 Maven 依赖项添加到您的项目,或通过下载 JAR 文件并将其手动包含在类路径中来实现。
GSON 作为 Maven 依赖项如下所示:


2.1开发环境配置:Maven引用

<dependency>
    <groupId>com.google.code.gson</groupId>
    <artifactId>gson</artifactId>
    <version>2.8.8</version>
</dependency>

也可以直接下载jar包,下载jar包地址:
https://mvnrepository.com/artifact/com.google.code.gson/gson
https://mvnrepository.com/artifact/com.google.code.gson/gson/2.8.8


2.2Gson的使用


Gson的基本用法:
Gson提供了fromJson()和toJson()两个基于直接用于解析和生成的方法,前者实现反序列化,后者实现序列化,同事每个方法都提供了重载方法。
Gson是简单的Java库,用于对Java对象序列化和反序列化,Gson中的序列化是把Java 对象转化为Json字符串,
Gson的反序列化是把Json字符串转化为Java对象。

参考:https://blog.csdn.net/pngfi/article/details/54848449
https://blog.csdn.net/ling125521/article/details/37773501
https://blog.csdn.net/zwj1030711290/article/details/80405353

其他:JsonParser的使用,参考这篇文章

Java(26):GSON - JsonParser对响应数据解析的封装

Java(24):GSON - JsonParser将 JSON 字符串解析为 Java 对象的树结构

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
假设你的json字符串如下所示: ```json { "name": "example", "image": "iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAB3RJTUUH5AEMDQw2fRfabQAAABl0RVh0Q29tbWVudABDcmVhdGVkIHdpdGggR0lNUFeBDhcAAAAPdEVYdFNvZnR3YXJlAFBhaW50Lk5FVCB2My41LjExR/NCNwAAAB9JREFUOE9jYBgFgKICAAjDwYvTcKAAAAAElFTkSuQmCC" } ``` 其中 `image` 字段是一个 base64 编码的图片数据。可以使用 Gson 解析该 json 字符串,然后将 base64 编码的图片数据解码成二进制数据。 ```java import com.google.gson.Gson; import java.util.Base64; public class Example { public static void main(String[] args) { String json = "{\"name\": \"example\",\"image\": \"iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAB3RJTUUH5AEMDQw2fRfabQAAABl0RVh0Q29tbWVudABDcmVhdGVkIHdpdGggR0lNUFeBDhcAAAAPdEVYdFNvZnR3YXJlAFBhaW50Lk5FVCB2My41LjExR/NCNwAAAB9JREFUOE9jYBgFgKICAAjDwYvTcKAAAAAElFTkSuQmCC\"}"; Gson gson = new Gson(); ExampleData data = gson.fromJson(json, ExampleData.class); // 解码图片数据 byte[] imageData = Base64.getDecoder().decode(data.getImage()); // 使用图片数据进行操作 // ... } private static class ExampleData { private String name; private String image; public String getName() { return name; } public void setName(String name) { this.name = name; } public String getImage() { return image; } public void setImage(String image) { this.image = image; } } } ``` 在上面的示例中,`ExampleData` 类是 Gson 解析 json 字符串后的数据类,其中包括 `name` 和 `image` 两个字段。`image` 字段的值是一个 base64 编码的字符串,在解析 json 字符串后,使用 `Base64.getDecoder()` 方法将其解码成二进制数据。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

宁宁可可

您的鼓励是我创作的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值