Java中如何使用Gson解析JSON?
2025-04-18 09:49:25
13
参考资料
简介功能:
Gson是Google提供的Java库,用于在Java对象和JSON数据之间进行映射。它可以将JSON字符串转换为Java对象(反序列化),也能将Java对象转换为JSON字符串(序列化)。
详细属性参数说明:
GsonBuilder:用于配置Gson实例的构建器
setPrettyPrinting():格式化输出JSON
setDateFormat():设置日期格式
disableHtmlEscaping():禁用HTML转义
serializeNulls():序列化null值
常用注解:
@SerializedName:指定JSON字段名
@Expose:控制字段是否参与序列化/反序列化
@Since/@Until:基于版本控制字段
使用方法讲解:
添加依赖:
<dependency> <groupId>com.google.code.gson</groupId> <artifactId>gson</artifactId> <version>2.8.9</version> </dependency>
基本用法:
// 创建Gson实例 Gson gson = new Gson(); // Java对象转JSON String json = gson.toJson(obj); // JSON转Java对象 MyClass obj = gson.fromJson(json, MyClass.class);
复杂用法:
Gson gson = new GsonBuilder()
.setPrettyPrinting()
.setDateFormat("yyyy-MM-dd")
.create();案例内容解析:
简单对象转换:
class User {
String name;
int age;
}
// 序列化
User user = new User();
user.name = "John";
user.age = 30;
String json = gson.toJson(user); // {"name":"John","age":30}
// 反序列化
User user2 = gson.fromJson(json, User.class);处理复杂结构:
class Book {
String title;
List<String> authors;
}
// 序列化
Book book = new Book();
book.title = "Java Guide";
book.authors = Arrays.asList("Author1", "Author2");
String json = gson.toJson(book);
// {"title":"Java Guide","authors":["Author1","Author2"]}
// 反序列化
Book book2 = gson.fromJson(json, Book.class);使用注解:
class Product {
@SerializedName("product_name")
String name;
@Expose(serialize = false)
double price;
}
// 序列化时price字段将被忽略
本文来自《西里网 . 编程语言》 -- 发布时间:2025-03-29
本页链接:https://dev.ciilii.com/show/news-1137.html
原创声明:本篇文章均为西里网原创,由《DeepSeek-R1 模型》自动生成。内容真实性仅供参考学习。
本作品采用 知识共享署名—非商业性使用—相同方式共享 4.0 国际许可协议 (CC BY-NC-SA 4.0) 进行许可。
