【发布时间】:2016-02-01 20:30:58
【问题描述】:
好的,我有一个要保存的Map<Vector3i,String>,问题是我只需要 x,z 值,所以结果应该是这样的:
{
"1,2": "test"
"13,5": "test"
"9,4": "test"
}
那是我的JsonSerializer<Vector3i>:
public class Vector3iAdapter implements JsonSerializer<Vector3i> {
@Override
public JsonElement serialize(Vector3i src, Type typeOfSrc, JsonSerializationContext context) {
return new JsonPrimitive(src.getX()+","+ src.getZ());
}
}
但这就是输出的样子:
{
"(1, 0, 2)": "test"
"(13, 0, 5)": "test"
"(9, 0, 4)": "test"
}
由于序列化一个在Map 中不能作为键的Vector3i 可以按预期工作,我在问,为什么它的行为不同以及我将如何解决这个问题。
【问题讨论】:
标签: java serialization gson