本文记录的是如何使用Gson序列化和反序列化包含不同类型对象的 JSON Array,例如:
1 | ['hello',5,{name:'GREETINGS',source:'guest'}] |
对于这种情况看,使用 Gson toJson(collection)
序列化,无需做额外的工作都能够得到正确的结果,但是,使用
fromJson(json, Collection.class)
反序列化时不能得到期望结果,因为Gson不知道如何将集合中元素与其类型对应起来。可采用如下解决方法:
使用Gson parser
API(JsonParser)解析数组中每个元素,然后对数组中每个元素使用Gson.fromJson()
进行反序列化。示例如下: