Tôi đang cố gắng để phân tích dưới đây json
file:org.json.simple.JSONArray không thể được đúc để org.json.simple.JSONObject
{"units":[{"id":42,
"title":"Hello World",
"position":1,
"v_id":9,
"sites":[[{"id":316,
"article":42,
"clip":133904
}],
{"length":5}]
}, ..]}
Đây là những gì tôi đã cố gắng:
Object obj = null;
JSONParser parser = new JSONParser();
Object unitsObj = parser.parse(new FileReader("file.json");
JSONObject unitsJson = (JSONObject) unitsObj;
JSONArray units = (JSONArray) unitsJson.get("units");
Iterator<String> unitsIterator = units.iterator();
while(unitsIterator.hasNext()){
Object uJson = unitsIterator.next();
JSONObject uj = (JSONObject) uJson;
obj = parser.parse(uj.get("sites").toString());
JSONArray jsonSites = (JSONArray) obj;
for(int i=0;i<jsonSites.size();i++){
JSONObject site = (JSONObject)jsonSites.get(i); // Exception happens here.
System.out.println(site.get("article");
}
}
mã này không hoạt động khi tôi cố gắng phân tích các nội json array
, vì vậy tôi có được:
Exception in thread "main" java.lang.ClassCastException: org.json.simple.JSONArray cannot be cast to org.json.simple.JSONObject
các ngoại lệ được trỏ đến dòng này:
JSONObject site = (JSONObject)jsonSites.get(i);
Bất kỳ trợ giúp nào? tnx.
Trong '' sites'' có vẻ như là một mảng trong một mảng, hãy lưu ý các dấu ngoặc vuông kép. – qqilihq