引言
JSON 作为轻量级的数据交换格式,在 Java 开发中无处不在。无论是微服务通信还是配置文件解析,高效、安全地处理 JSON 都是基本功。本文将结合 Gson、Jackson 和 Fastjson 三大主流框架,分享一些实战中的坑点、优化手段以及安全配置建议。
主流框架对比
Java 生态里 JSON 库不少,选对工具能省不少心。Gson 简洁易用,Jackson 功能强大且是 Spring 默认,Fastjson 性能强悍但需注意安全。具体选型建议参考项目依赖和团队习惯。
Gson 实战指南
Gson 由 Google 维护,API 简单直观。
基础用法
引入依赖后,创建一个 Gson 实例即可开始工作。注意,Gson 实例是线程安全的,建议在应用启动时初始化并复用。
// 创建 Gson 实例(建议全局单例)
Gson gson = new Gson();
// Java 对象转 JSON
User user = new User("张三", 25);
String json = gson.toJson(user);
System.out.println(json); // {"name":"张三","age":25}
// JSON 字符串转 Java 对象
String jsonString = "{\"name\":\"李四\",\"age\":30}";
User parsedUser = gson.fromJson(jsonString, User.class);
处理集合类型时,泛型信息容易丢失,推荐使用 TypeToken 辅助。
List<User> userList = Arrays.asList(new User("张三", 25), new User("李四", 30));
String jsonList = gson.toJson(userList);
// 反序列化集合
Type <List<User>>(){}.getType();
List<User> parsedList = gson.fromJson(jsonList, userListType);


