使用Gson自定义序列化POJO的一部分

时间:2016-09-21 16:09:59

标签: java android json serialization gson

我有一个像这样的POJO:

class SurveyResult {
   public String name;
   public List<QuestionAnswer> questions;
}
class QuestionAnswer {
   public String key;
   public String question;
   public boolean answer;
}

我从服务器上获得了问题列表,所以我事先并不知道它们可能是什么。将SurveyResult发送回服务器时,我需要发送以下Json:

{ "name": "John Doe", "question1key" : true, "question2key" : false }

正如您所看到的,QuestionAnswer列表被展平为与SurveyResult.name相同的级别。构建自定义序列化程序时,我该如何实现?我知道我可以通过自定义序列化整个SurveyResult对象来实现,但在现实世界的情况下,可能会有很多字段,我不想自定义序列化所有这些字段只是为了展平列表。

谢谢!

1 个答案:

答案 0 :(得分:0)

如果你只想要Gson,请忽略这个答案。在这里,我使用Oson serializer and jsonNoName, requires 1.0.8

实现了一个解决方案