2014-04-20 66 views
1

我查看了大部分在线的可用教程,在Libgdx中使用Json,这看起来非常简单。但是,由于某种原因,json.toJson()不断返回一个两个单元格的数组,第一个包含{和第二个包含}。 我的代码是非常简单的:Libgdx,JSON:Json.tojson(object)不断返回{}

public class GameConfig { 
    public int screenWidth; 
    public int screenHeight; 

    public GameConfig() { 
     screenWidth = 800; 
     screenHeight = 600; 
    } 
} 

然后

String configAsText = json.toJson(zzz);//configAsText.value equals [0] = { and [1] = } 
String configAsText = json.toJson(config, GameConfig.class);//nor this one 

任何想法?

+0

如何实例化json对象? –

+0

你知道JSON是什么吗?它不是“两个单元格数组”,而是代表JSON中空对象的String ['}'。 – noone

+0

Christian Cederquist < - 像这样Json json = new Json(); – coffeenet

回答

5

请尝试以下代码。我以这种方式使用它,在大多数情况下,我不需要任何自定义序列化器,因为libgdx用于序列化的内部反射。

Json json = new Json(); 

json.setTypeName(null); 
json.setUsePrototypes(false); 
json.setIgnoreUnknownFields(true); 
json.setOutputType(OutputType.json); 

json.toJson(config, GameConfig.class); 
+0

工作,thanx! :) – coffeenet

+0

这可以与fromjson()一起使用吗? – coffeenet

+0

@coffeenet如果您可以将它转换为JSON而无需特殊的序列化器,那么您应该也可以将其转换回来。 – noone

相关问题