【发布时间】:2017-09-14 01:00:00
【问题描述】:
我正在使用 com.google.code.gson:gson:2.2.4 库通过代码将对象转换为 JSON:
String json = new GsonBuilder().excludeFieldsWithModifiers(Modifier.PROTECTED).create().toJson(object);
在 JSON 字符串中,“serialVersionUID”会自动添加Long 值,即使它不在模型类中。我只想从 JSON 中删除 serialVersionUID。
【问题讨论】:
-
serialVersionUID必须是static。 -
但我的班级没有 serialVersionUID 字段。
-
那么你的类继承了一个具有非静态
serialVersionUID字段的类。您可以修改基类并使该字段保持应有的静态吗? -
当我使用 new Gson().toJson(object) 时,它不会在 JSON 中添加 serialVersionUID。
-
啊,抱歉我错了 Gson 配置。您只需将修饰符掩码更改为
Modifier.PROTECTED | Modifier.STATIC。 (我从未考虑过(反)序列化静态字段,也从未使用非标准排除修饰符)。
标签: android json gson serialversionuid