JSONObject與JSONArray使用方法解析
需要匯入:json-lib-2.2.2-.jar包
1.json:就是一個鍵對應一個值,超級簡單的一對一關係。對於json巢狀,只要記住符號“:”前是鍵,符號後是值大括號成對找.
String arrayStr=[{name1:{name2:{name3:'value1',name4:'value2'}}},{}]
取出name4值過程步驟:
- 1)將以上字串轉換為JSONArray物件;
- 2)取出物件的第一項,JSONObject物件;
- 3)取出name1的值JSONObject物件;
- 4)取出name2的值JSONObject物件;
- 5)取出name4的值value2;
示例中json陣列格式的字串可以通過方法直接轉換為JSONArray的格式:
JSONArray.fromObject(String)
JSONArray getJsonArray=JSONArray.fromObject(arrayStr);//將結果轉換成JSONArray物件的形式
JSONObject getJsonObj = getJsonArray.getJSONObject(0);//獲取json陣列中的第一項
String result=getJsonObj.getJSONObject("name1").getJSONObject("name2").getJSONObject("name4");
2.JSONObject
json物件,就是一個鍵對應一個值,使用的是大括號{ },如:{key:value}
3.JSONArray
json陣列,使用中括號[ ],只不過數組裡面的項也是json鍵值對格式的
Json物件中新增的是鍵值對,JSONArray中新增的是Json物件
JSONObject Json = new JSONObject();
JSONArray JsonArray = new JSONArray();
Json.put("key","value");//JSONObject物件中新增鍵值對
JsonArray.add(Json);//將JSONObject物件新增到Json陣列中
4.Map map和json都是鍵值對,不同的是map中鍵值對中間用等號分開,json中鍵值對中間用冒號分開。其實json就是一種特殊形式的map.
JSONObject與JSONArray作用:不重新整理jsp頁面對查詢的結果做回寫顯示:
/*示例:*/ Map<String,String> strmap=new JSONObject(); Map map = new HashMap(); map.put("cudenddate",cudenddate); map.put("cudbegindate",cudbegindate); List auditList = kyDataHeadAuditService.getAuditAllDataList(map,paper,currentPage,pageDirection,10); map.put("auditList",auditList); map.put("currentpage",String.valueOf(paper.getCurrentpage())); map.put("allSize",String.valueOf(paper.getAllSize())); response.getWriter().write(JSONArray.fromObject(map).toString()); response.getWriter().flush(); response.getWriter().close(); $.post("kyDataHeadAuditAction.do?action=findKyHeadAuditList",{ orgLevel : levs,sbtype : sbType,jytype : jyType} function(data) { var arr = data[0].auditList; if (arr.length > 0) { var html = ""; for ( var i = 0; i < arr.length; i++) {// 更新列表 var kyReportBean = arr[i]; html += "<tr><td><input type='checkbox' name='kyreportid' value='" + kyReportBean.kyReportid + "'/> </td>"; html += "<td align='center'>" + kyReportBean.kyReportid + " </td>"; html += "<td align='center'><input type='button' value='檢視' onclick=\"bmSearchAudit('kyDataAuditAction.do?action=searchAuditDetail&insurCode="+kyReportBean.kyReportid+"')\">" + " </td></tr>"; } var allsize = data[0].allSize; var currentpage = data[0].currentpage; cleartable(0);// 清空表格 $("#tablelist").append(html); hideLoading();// 取消動畫 $("#allSize").append(data[0].allSize); $("#currentpage").append((parseInt(data[0].currentpage) + parseInt(1))); changePage(allsize,currentpage);// 更新翻頁 $("#currentpagevalue").val(currentpage); } else cleartable(0); hideLoading();// 取消動畫 },"json");
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。