2015-11-02 120 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.