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与Image加载事件(onload)、加载状态(complete)
Feb 14 Javascript
JavaScript中json对象和string对象之间相互转化
Dec 26 Javascript
jquery自定义函数的多种方法
Jan 09 Javascript
Javascript实现的常用算法(如冒泡、快速、鸽巢、奇偶等)
Apr 29 Javascript
js实现页面跳转重定向的几种方式
May 29 Javascript
JavaScript中使用Callback控制流程介绍
Mar 16 Javascript
js实现滚动条滚动到某个位置便自动定位某个tr
Jan 20 Javascript
微信小程序商城项目之侧栏分类效果(1)
Apr 17 Javascript
Vue 过滤器filters及基本用法
Dec 26 Javascript
详解AngularJS之$window窗口对象
Jan 17 Javascript
如何实现iframe父子传参通信
Feb 05 Javascript
vue自动添加浏览器兼容前后缀操作
Aug 13 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
神族 PROTOSS 概述
2020/03/14 星际争霸
如何从一个php文件向另一个地址post数据,不用表单和隐藏的变量的
2007/03/06 PHP
PHP实现MVC开发得最简单的方法――模型
2007/04/10 PHP
php 无限级分类学习参考之对ecshop无限级分类的解析 带详细注释
2010/03/23 PHP
写php分页时出现的Fatal error的解决方法
2011/04/18 PHP
php使用Jpgraph绘制柱形图的方法
2015/06/10 PHP
php生成gif动画的方法
2015/11/05 PHP
yii2中的rules 自定义验证规则详解
2016/04/19 PHP
javascript 用原型继承来实现对象系统
2010/03/22 Javascript
javascript学习笔记(八) js内置对象
2012/06/19 Javascript
js常用自定义公共函数汇总
2014/01/15 Javascript
JS取request值以及自动执行使用示例
2014/02/24 Javascript
javasciprt下jquery函数$.post执行无响应的解决方法
2014/03/13 Javascript
node.js中的fs.readlink方法使用说明
2014/12/17 Javascript
jQuery实现鼠标单击网页文字后在文本框显示的方法
2015/05/06 Javascript
JS实现具备延时功能的滑动门菜单效果
2015/09/17 Javascript
jQuery解决input元素的blur事件和其他非表单元素的click事件冲突问题
2016/08/15 Javascript
如何在 Vue 表单中处理图片
2021/01/26 Vue.js
[36:16]完美世界DOTA2联赛PWL S3 access vs Rebirth 第一场 12.19
2020/12/24 DOTA
python实现简单多人聊天室
2018/12/11 Python
Python3.5基础之变量、数据结构、条件和循环语句、break与continue语句实例详解
2019/04/26 Python
将 Ubuntu 16 和 18 上的 python 升级到最新 python3.8 的方法教程
2020/03/11 Python
python和pywin32实现窗口查找、遍历和点击的示例代码
2020/04/01 Python
python requests包的request()函数中的参数-params和data的区别介绍
2020/05/05 Python
在Tensorflow中实现leakyRelu操作详解(高效)
2020/06/30 Python
Python selenium键盘鼠标事件实现过程详解
2020/07/28 Python
Sephora丝芙兰泰国官方网站:国际知名化妆品购物
2017/11/15 全球购物
个人自我鉴定
2013/11/07 职场文书
大学生家政服务项目创业计划书
2014/01/30 职场文书
2014年两会学习心得体会
2014/03/10 职场文书
2014校长四风问题对照检查材料思想汇报
2014/09/16 职场文书
2014年酒店工作总结范文
2014/11/17 职场文书
关于食品安全的演讲稿范文(三篇)
2019/10/21 职场文书
python 如何在 Matplotlib 中绘制垂直线
2021/04/02 Python
Jupyter notebook 输出部分显示不全的解决方案
2021/04/24 Python
详解Flutter网络请求Dio库的使用及封装
2022/04/14 Java/Android