简而言之,这是我要在 JAVA 中解析的 JSON 对象的草图:
{
object1: {
item1: //[String | Array | Object] ,
item2: // ...
//<> more items
object2: { /* .. */ }
//<> more objects
}
这些是我为解析而创建的POJOimport
(为简洁起见,我将省略这些语句):
(1) 完整的 JSON 对象的表示
public class JObjectContainer {
private List<JObject> jObjects ;
public JObjectContainer() { }
//get & set methods
}
(2) 嵌套对象的表示:
public class JObject {
private String id ;
private List<JNode> jObjects ;
public JObject() { }
//get & set methods
}
(3) 物品的表示:
public class JNode {
private JsonElement item1 ;
private JsonElement item2 ;
//<> more item fields
public JNode() { }
//get & set methods
}
现在,创建一个 Gson 实例(FileReader
用于导入jsonFile
),
Gson gson = new Gson() ;
JObjectContainer joc = gson.fromJson(jsonFile,JObjectContainer.class) ;
NullPointerException
每当我尝试访问可解析对象(例如通过 a )时,我都会得到 a ListIterator
。然而, Gson确实创建了我指定的类的对象,并且不会引发任何后续错误。
我知道这以前已经做过了。那么,我错过了什么?
TIA