使用List封裝的JsonObject等類的讀取方法
例如:
JSONObject first = new JSONObject();
first.put("first", 1);
first.put("first2", 2);
first.put("first3", 3);
JSONObject second = new JSONObject();
second.put("second", first);
JSONObject third = new JSONObject();
third.put("third", second);////現在JSONObject類物件third是一個由三層JSONObject構成的
則其讀取方法可採用如下:
public List<Object> readJSONObject( JSONObject json ){
List<Object> result = new ArrayList<Object>();
int type = 5;
JSONObject origin = json.getJSONObject( "third" ).getJSONObject("second");////此時origin和first是相同的
//若json是List<List<Object>>形式,則採用JSONObject rst= (Double) json.get(i).get(1)進行讀取
List<Object> list = getObject(origin, type);
result.addAll(list);
}
public List<Object> getObject(JSONObject json, int type ){
List<Object> result = new ArrayList<Object>();
for(Object k :
json.keySet()) {
////依次讀取json中資料
String key = (String) k; //String[] spaces = query.split(",");//對於用某符號分割的字串採用此法
Integer add1 = origin.optInt(key, 0)+1;
//for(String space : spaces) {}
JSONObject rst = new JSONObject();
rst.put(key, add1);
result.add(rst);
}
return result;
}