1. 程式人生 > 程式設計 >JSONObject與JSONArray使用方法解析

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
                    + "'/>&nbsp;</td>";
                html += "<td align='center'>"
                    + kyReportBean.kyReportid
                    + "&nbsp;</td>";
                html += "<td align='center'><input type='button' value='檢視' onclick=\"bmSearchAudit('kyDataAuditAction.do?action=searchAuditDetail&insurCode="+kyReportBean.kyReportid+"')\">" + "&nbsp;</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");

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。