2015-09-27 58 views
0

我有对象的通用阵列:JSON解析和编码与泛型类型

static Array<Level> allLevels = new Array<Level>(); 

现在我想对它进行编码,以JSON这样的:

Json json = new Json(); 
    String levelsJsonString = json.prettyPrint(allLevels); 

,当我出现的问题试图扭转这一过程:

allLevels = json.fromJson(Level.class, levelsJsonString); 

这是引发数组和水平是不兼容的类型。这个怎么做?

回答

1

据我知道有总是通过泛型类成JSON fromJson()方法问题。

的simpliest workarround只是包装数组类型,如:

public class Levels 
    { 
     public static Array<Level> allLevels = new Array<Level>(); 
    } 

然后你可以使用它,就像

Levels.allLevels.add(new Level()); //etc... 

并检索它从JSON像

... = json.fromJson(Levels.class, jsonLevels); 

传球包装类类对象 to fromso n方法。同样你正在做母鸡转换为JSON - 传递包装类不只是数组对象

String levelsJsonString = json.prettyPrint(Levels.allLevels); 
+0

是的,这就是我最终做的。谢谢。 – TimSim