您的位置:首页 >Java 使用 Gson 生成格式化 JSON 数组方法
发布于2026-04-12 阅读(0)
扫一扫,手机访问

本文讲解如何利用 Gson 库将多个 Java 对象序列化为结构清晰、符合 JSON 标准的数组格式(而非拼接的多个独立对象),避免非法 JSON 问题,并实现自动缩进美化输出。
本文讲解如何利用 Gson 库将多个 Java 对象序列化为结构清晰、符合 JSON 标准的数组格式(而非拼接的多个独立对象),避免非法 JSON 问题,并实现自动缩进美化输出。
在 Java 中使用 Gson 将对象转为 JSON 时,一个常见误区是逐个调用 toJson() 并字符串拼接(如 json += new Gson().toJson(obj))。这种方式看似简单,实则生成的是多个独立 JSON 值(如 {}{}),不符合 JSON 规范——合法的 JSON 文档必须且仅有一个根值,而数组 [] 或对象 {} 才是合法根,连续的 {} 不是有效 JSON。
正确做法是:先将所有对象统一放入集合(如 List<T>),再对整个集合调用 Gson.toJson()。Gson 会自动将其序列化为标准 JSON 数组。以下是修正后的完整示例:
import com.google.gson.Gson;
import java.util.ArrayList;
import java.util.List;
public class Main {
public static void main(String[] args) {
Fencers fencer1 = new Fencers("m", "egy", 100);
Fencers fencer2 = new Fencers("342", "egy", 120);
// ✅ 正确:封装为 List,再整体转换
List<Fencers> fencerList = new ArrayList<>();
fencerList.add(fencer1);
fencerList.add(fencer2);
Gson gson = new Gson();
String json = gson.toJson(fencerList);
System.out.println(json);
}
}输出结果即为标准、可解析的 JSON 数组:
[
{
"name": "m",
"nation": "egy",
"id": 100
},
{
"name": "342",
"nation": "egy",
"id": 120
}
]⚠️ 进阶提示:启用格式化输出(美化)
若需带缩进和换行的“漂亮打印”(pretty-print),请使用 GsonBuilder:
Gson gson = new GsonBuilder()
.setPrettyPrinting() // 启用格式化
.create();
String json = gson.toJson(fencerList);✅ 关键总结:
这样即可确保生成的 JSON 既合法又专业,无缝对接前端、API 或文件持久化场景。
上一篇:开足疗店需要多少钱?
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
7
9