JSONObject与JSONArray使用方法解析


Posted in Javascript onSeptember 28, 2020

需要导入: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");

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
javascript 自动转到命名锚记
Jan 10 Javascript
xss文件页面内容读取(解决)
Nov 28 Javascript
js两行代码按指定格式输出日期时间
Oct 21 Javascript
获取服务器传来的数据 用JS去空格的正则表达式
Mar 26 Javascript
JQuery给元素添加/删除节点比如select
Apr 02 Javascript
JS对象转换为Jquery对象实现代码
Dec 29 Javascript
jQuery 获取、设置HTML或TEXT内容的两种方法
May 23 Javascript
web前端设计师们常用的jQuery特效插件汇总
Dec 07 Javascript
JavaScript简单实现关键字文本搜索高亮显示功能示例
Jul 25 Javascript
vue升级之路之vue-router的使用教程
Aug 14 Javascript
Vue监听一个数组id是否与另一个数组id相同的方法
Sep 26 Javascript
Vue Element plus使用方法梳理
Dec 24 Vue.js
OpenLayer3自定义测量控件MeasureTool
Sep 28 #Javascript
Openlayers实现距离面积测量
Sep 28 #Javascript
Openlayers+EasyUI Tree动态实现图层控制
Sep 28 #Javascript
JS sort排序详细使用方法示例解析
Sep 27 #Javascript
vue中实现点击变成全屏的多种方法
Sep 27 #Javascript
通过实例解析json与jsonp原理及使用方法
Sep 27 #Javascript
React 条件渲染最佳实践小结(7种)
Sep 27 #Javascript
You might like
改变Apache端口等配置修改方法
2008/06/05 PHP
php 来访国内外IP判断代码并实现页面跳转
2009/12/18 PHP
PHP spl_autoload_register实现自动加载研究
2011/12/06 PHP
PHP SplObjectStorage使用实例
2015/05/12 PHP
php日期操作技巧小结
2016/06/25 PHP
js定时器的使用(实例讲解)
2014/01/06 Javascript
页面内容排序插件jSort使用方法
2015/10/10 Javascript
【经典源码收藏】基于jQuery的项目常见函数封装集合
2016/06/07 Javascript
javascript 将共享属性迁移到原型中去的实现方法
2016/08/31 Javascript
Bootstrap 实现查询的完美方法
2016/10/26 Javascript
jQuery的事件预绑定
2016/12/05 Javascript
基于LayUI分页和LayUI laypage分页的使用示例
2017/08/02 Javascript
详解给Vue2路由导航钩子和axios拦截器做个封装
2018/04/10 Javascript
使用Vue-cli 3.0搭建Vue项目的方法
2018/06/07 Javascript
微信小程序功能之全屏滚动效果的实现代码
2018/11/22 Javascript
详解js中let与var声明变量的区别
2020/04/05 Javascript
layer.open的自适应及居中及子页面标题的修改方法
2019/09/05 Javascript
微信小程序动态设置图片大小的方法
2019/11/21 Javascript
JS+DIV实现拖动效果
2020/02/11 Javascript
详解如何在Javascript中使用Object.freeze()
2020/10/18 Javascript
Python pygorithm模块用法示例【常见算法测试】
2018/08/16 Python
从pandas一个单元格的字符串中提取字符串方式
2019/12/17 Python
HTML5 Canvas实现玫瑰曲线和心形图案的代码实例
2014/04/10 HTML / CSS
html5的自定义data-*属性与jquery的data()方法的使用
2014/07/02 HTML / CSS
伯利陶器:Burleigh Pottery
2018/01/03 全球购物
台湾最大网路书店:博客来
2018/03/18 全球购物
英国领先的鞋类零售商:Shoe Zone
2018/12/13 全球购物
eHarmony英国:全球领先的认真恋爱约会平台之一
2020/11/16 全球购物
社区党员先进事迹
2014/01/22 职场文书
大学生个人自荐信样本
2014/03/02 职场文书
申报优秀教师材料
2014/12/16 职场文书
入党积极分子党小组意见
2015/06/02 职场文书
青年教师听课心得体会
2016/01/15 职场文书
电脑无法安装Windows 11怎么办?无法安装Win11的解决方法
2021/11/21 数码科技
使用Redis实现分布式锁的方法
2022/06/16 Redis
详解flex:1什么意思
2022/07/23 HTML / CSS