【发布时间】:2018-10-03 16:03:43
【问题描述】:
我希望使用 gson 序列化我的课程,但我想省略 hashmap 名称。这对gson有可能吗?
我已尝试编写自己的 TypeAdapter,但地图名称仍写为父对象。
我有一个看起来像这样的课程
public class myClass {
@Expose
public Long timestamp;
@Expose
public String id;
@Expose
public HashMap<String, someOtherClass> myMap = new HashMap<>();
@Override
public String toString() {
Gson gson = new GsonBuilder()
.excludeFieldsWithoutExposeAnnotation()
.create();
return gson.toJson(this);
}
}
当前输出:
{
"timestamp": 1517245340000,
"id": "01",
"myMap": {
"mapKey1": {
"otherClassId": "100", // works as expected
}
"mapKey2": {
"otherClassId": "101", // works as expected
}
}
}
我希望得到什么:
{
"timestamp": 1517245340000,
"id": "01",
"mapKey1": {
"otherClassId": "100", // works as expected
},
"mapKey2": {
"otherClassId": "100", // works as expected
}
}
【问题讨论】: