要するに、これは 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 を介して) を取得しますListIterator
。ただし、 Gsonは指定したクラスのオブジェクトを作成し、その後のエラーはスローしません。
私はこれが以前に行われたことを知っています。それで、私は何が欠けていますか?
ティア