十六、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");

 

posted @ 2018-03-23 16:59  爱笑的berg  阅读(609)  评论(0编辑  收藏  举报