2015-11-02 146 views
1

我在看一些例子,但我找不到解决我的问题的任何东西。我想问题是微不足道的,但我不能做我做错的事情。我有这样看着简单的JSON:如何解析与嵌套数组的JSON对象

{ 
    "value" : 120, 
    "objects" : [ 
    { 
     "object_id" : 1, 
     "description" : "First object", 
     "flag" : false 
    }, 
    { 
    "object_id" : 2, 
     "description" : "Second object", 
     "flag" : true 
    } 
    ] 
} 

我创建了它的模型:

GeneralResponse:

public class GeneralResponse { 

    public int value; 
    public List<NestedObject> objects; 

} 

NestedObject:

public class NestedObject { 

    public int object_id; 
    public String description; 
    public boolean flag; 

} 

我尝试分析它像即:

GeneralResponse response = new Gson().fromJson(myJSONstring, GeneralResponse.class); 

我得到一个错误:

com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected a string but was BEGIN_OBJECT at line 4 column 6 path $.objects[0] 
+2

您正在使用哪个GSON的版本?我用2.4测试过,它按预期工作。 – Tunaki

+0

嗨,费希尔 @ F1sher我不确定这会帮助你,为什么我们需要重新编写解析JSON?为什么我们不能使用任何导入任何json模块并且不能使用它。 http://stackoverflow.com/questions/2591098/how-to-parse-json-in-java – Shankar

+0

此线程可能会帮助你:http://stackoverflow.com/questions/9598707/gson-throwing-expected- begin-object-but-was-begin-array – sr09

回答

0

存在相应代码中的错误,经过笔者:

NestedObject is an enum with fields and this cause error.