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 相关文章推荐
漂亮的仿flash菜单,来自蓝色经典
Jun 26 Javascript
JS HTML5 音乐天气播放器(Ajax获取天气信息)
May 26 Javascript
JavaScript中“过于”犀利地for/in循环使用示例
Oct 22 Javascript
js 判断浏览器使用的语言示例代码
Mar 22 Javascript
js实现网页随机切换背景图片的方法
Nov 01 Javascript
举例详解JavaScript中Promise的使用
Jun 24 Javascript
jQuery表格行上移下移和置顶的实现方法
Oct 08 Javascript
seajs学习之模块的依赖加载及模块API的导出
Oct 20 Javascript
JS中检测数据类型的几种方式及优缺点小结
Dec 12 Javascript
浅谈JavaScript的计时器对象
Dec 26 Javascript
jQuery树插件zTree使用方法详解
May 02 jQuery
小程序实现投票进度条
Nov 20 Javascript
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
PHP添加MySQL数据记录代码
2008/06/07 PHP
简单的cookie计数器实现源码
2013/06/07 PHP
php多层数组与对象的转换实例代码
2013/08/05 PHP
关于PHP中协程和阻塞的一些理解与思考
2017/08/11 PHP
JavaScript 拖拉缩放效果
2008/12/10 Javascript
JavaScript 设计模式 富有表现力的Javascript(一)
2010/05/26 Javascript
jQuery弹性滑动导航菜单实现思路及代码
2013/05/02 Javascript
jQuery插件jFade实现鼠标经过的图片高亮其它变暗
2015/03/14 Javascript
AngularJS的一些基本样式初窥
2015/07/27 Javascript
基于Bootstrap重置输入框内容按钮插件
2016/05/12 Javascript
jQuery常用样式操作实例分析(获取、设置、追加、删除、判断等)
2016/09/08 Javascript
ionic由于使用了header和subheader导致被遮挡的问题的两种解决方法
2016/09/22 Javascript
JavaScript中setTimeout的那些事儿
2016/11/14 Javascript
javascript遍历json对象的key和任意js对象属性实例
2017/03/09 Javascript
jQuery插件FusionCharts绘制的3D环饼图效果示例【附demo源码】
2017/04/02 jQuery
JS ES6多行字符串与连接字符串的表示方法
2017/04/26 Javascript
详解angular ui-grid之过滤器设置
2017/06/07 Javascript
MUI顶部选项卡的用法(tab-top-webview-main)详解
2017/10/08 Javascript
Vue按需加载的具体实现
2017/12/02 Javascript
详解vue 计算属性与方法跟侦听器区别(面试考点)
2018/04/23 Javascript
微信小程序indexOf的替换方法(推荐)
2020/01/14 Javascript
vue页面更新patch的实现示例
2020/03/25 Javascript
javascript运行机制之执行顺序理解
2020/08/03 Javascript
vue 授权获取微信openId操作
2020/11/13 Javascript
Python Mysql数据库操作 Perl操作Mysql数据库
2009/01/12 Python
python获取一组汉字拼音首字母的方法
2015/07/01 Python
200行自定义python异步非阻塞Web框架
2017/03/15 Python
Django 根据数据模型models创建数据表的实例
2018/05/27 Python
python 实现读取一个excel多个sheet表并合并的方法
2019/02/12 Python
详解Python中的各种转义符\n\r\t
2019/07/10 Python
python字典按照value排序方法
2020/12/28 Python
德国最大的设计师鞋网上商店:Budapester
2017/12/07 全球购物
处级领导班子全部召开专题民主生活会情况汇报
2014/09/27 职场文书
《钓鱼的启示》教学反思
2016/02/18 职场文书
Oracle 数据仓库ETL技术之多表插入语句的示例详解
2021/04/12 Oracle
CSS3实现360度循环旋转功能
2022/02/12 HTML / CSS