Gson JSON解析实用示例
Google Gson 的 Json 解析能力挺强的,尤其在 Java 项目里 JSON 数据时,真的是一把好手。用起来也不难,从对象转成字符串、再从字符串转回对象,Gson 都搞得定。你如果在写接口对接、文件存储、缓存这些场景,Gson 挺适合用的。
Gson 的依赖配置蛮
Maven 项目直接往pom.xml
里加:
;
;com.google.code.gson<;/groupId>;
;gson<;/artifactId>;
;2.8.6<;/version>;
<;/dependency>;
Gradle 项目就一行:
implementation 'com.google.code.gson:2.8.6'
对象转 JSON还挺直观的
你定义个User
类:
class User {
String name;
int age;
// getters 和 setters
}
就能直接转了:
User user = new User();
user.setName("Alice");
user.setAge(25);
Gson gson = new Gson();
String jsonString = gson.toJson(user);
反过来,把 JSON 转回对象也一样简单:
String jsonString = "{\"name\":\"Alice\",\"age\":25}";
User user = gson.fromJson(jsonString, User.class);
复杂类型也能搞定
比如说日期格式,Gson 默认不了,得自己写个TypeAdapter
:
class DateTypeAdapter extends TypeAdapter<;Date>; {
// override write 和 read 方法
}
用GsonBuilder
注册一下:
Gson gson = new GsonBuilder()
.registerTypeAdapter(Date.class, new DateTypeAdapter())
.create();
字段控制也挺灵活
想换个字段名?加个注解就行:
@SerializedName("username")
String name;
JSON 数组、List、嵌套对象都支持
只要 Java 类结构写得清楚,嵌套结构 Gson 也照样能搞定。
大文件?用流式 API
要大 JSON,不想一次性读进内存?那就用JsonReader
那套流式 API,性能也还不错。
哦对了,如果你对数据交换的效率也比较在意,MessagePack也是个还不错的选择。
,Gson 适合大多数日常场景。如果你项目里还在手动拼 JSON,或者对数据结构的变化控制不太顺手,真的建议试试 Gson。
171.26KB
文件大小:
评论区