我試圖解析嵌套的JSON如下所示:解析嵌套的JSON拋出NullPointerException異常
{
"a":{"aa":"11","bb":"232"},
"b":{"aa":"111","bb":"224"},
"c":{"aa":"121","bb":"232"}
}
我試圖使用循環去嵌套JSON部分:
JSONParser parser = new JSONParser();
JSONObject infoJSON = (JSONObject) parser.parse(new FileReader(new File("resources/abc.json")));
for(int i=0 ;i< infoJSON.size(); i++){
JSONObject innerJSON = (JSONObject) infoJSON.get(i);
System.out.println(innerJSON.keySet());
}
它拋出我NullPointerException
。我覺得迭代有一些問題。
它不是關於「空指針異常」。我的問題是爲什麼它不解析嵌套部分 – Betafish
有時問題會被錯誤地關閉。你得到'null'是因爲'size()'代表了一個JSON對象的計數,它是一個'Map'本身,所以'get(i)'沒有意義(' 0「,只存在」a「,」b「和」c「)。這是你需要的:'JSONObject infoJson =(JSONObject)parser.parse(reader); for(Entry e:infoJson.entrySet()){JSONObject innerJson =(JSONObject)e.getValue();的System.out.println(innerJson.keySet()); }' –
@LyubomyrShaydariv:你沒有發佈這個答案的任何原因? –