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。

zip 文件大小:171.26KB