JSON獲取數組——讀完你就讀懂了JSON

JSON獲取數組沒有什麼好說的,java裏面直接使用json的JSONArray類即可:

JSONArray strArray = mjson.getJSONArray("Array");

但我們有時候獲取的json結構往往不是這麼簡單的,例如下面:
{“a”:1,”b”:2,”c”:{“d”:3,”e”:4,”f”:[{“g”:5,”h”:6},{“g”:7,”h”:8}]}}
解析後是這樣(注意區分中括號和大括號):

json

可以看出這個json串中包含一個數組f,通過上述方法獲取到很麻煩,這裏使用jackson的ObjectMapper類對其進行解析。json中的集合只能解析爲兩種:map和list,顯然在上述json串中,我們要將數組f解析爲list,而整個json串和c要解析爲map,按這個思路解析代碼如下:

ObjectMapper mapper = new ObjectMapper();
Map<String, Object> jsonMap = null;
//將json串爲map,注意實際使用時需要加try catch
jsonMap = mapper.readValue(json, Map.class);
//獲取c
Map<String, Object> cMap = (Map<String, Object>)jsonMap.get("c");
//獲取f
List<Map<String, Object>> fList = (List<Map<String, Object>>) cMap.get("f");
//遍歷f
for(int i=0; i<fList.size(); i++){...}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章