【发布时间】:2015-11-15 22:03:32
【问题描述】:
按照Using Enums while parsing JSON with GSON 中的建议,我正在尝试使用 Gson 序列化其键为 enum 的映射。
考虑以下类:
public class Main {
public enum Enum { @SerializedName("bar") foo }
private static Gson gson = new Gson();
private static void printSerialized(Object o) {
System.out.println(gson.toJson(o));
}
public static void main(String[] args) {
printSerialized(Enum.foo); // prints "bar"
List<Enum> list = Arrays.asList(Enum.foo);
printSerialized(list); // prints ["bar"]
Map<Enum, Boolean> map = new HashMap<>();
map.put(Enum.foo, true);
printSerialized(map); // prints {"foo":true}
}
}
两个问题:
- 为什么
printSerialized(map)打印{"foo":true}而不是{"bar":true}? - 如何才能打印
{"bar":true}?
【问题讨论】: