我想用gson解析一个样本json,如下所示:
"category": {
"sub_category_1": [...],
"sub_category_2": [...],
"sub_category_3": {...}
}
因为所有子类别都是动态的,我只对作为地图的子类别感兴趣。所以我在POJO中使用Map<String, Map<String, String>>
作为数据类型。但是,我得到错误说数组是预期的。我的猜测是,当子类别是数组时,它也使用该数据类型进行解析。有什么建议吗?我是Retrofit和Gson的新手,所以如果你可以在这里粘贴你的反序列化代码那就太棒了。
答案 0 :(得分:0)
您必须为TypeAdapter
使用自定义Gson
。这是一项艰苦而凌乱的工作,但这是我发现解析可行的唯一方法。看看这些:
http://www.javacreed.com/gson-typeadapter-example/
http://www.studytrails.com/java/json/java-google-json-type-adapter.jsp
https://google-gson.googlecode.com/svn/trunk/gson/docs/javadocs/com/google/gson/TypeAdapter.html