1. 程式人生 > >使用List封裝的JsonObject等類的讀取方法

使用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;

}