我在使用GSON时遇到了一些麻烦,主要是从JSON反序列化到POJO.
我有以下JSON:
{
"events":
[
{
"event":
{
"id": 628374485,"title": "Developing for the Windows Phone"
}
},{
"event":
{
"id": 765432,"title": "Film Makers Meeting"
}
}
]
}
随着以下POJO的……
public class EventSearchResult {
private List
…我正在使用以下代码进行反序列化,其中json输入是上面的json
Gson gson = new Gson();
return gson.fromJson(jsonInput,EventSearchResult.class);
但是,我无法正确填充事件列表.标题和ID始终为null.我确定我错过了什么,但我不确定是什么.任何的想法?
谢谢
最佳答案
好的,我想出来了.我证明这是为了漫长的一天编程,前一天晚上睡不着觉!
“事件”数据结构包含多个“事件”,每个事件包含“事件”类型.我不得不在名为EventContainer的新类下移动EventSearchEvent.此事件容器包含一个字段“事件”.这个“事件”是“EventSearchEvent”.因此,当GSON迭代JSON数组时,它会看到Container(类型为“events”),然后在该对象内部查找“event”成员.当它终于发现它适当地加载了id和title.
缺点:我没有正确构建对象层次结构.