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 相关文章推荐
Jquery的hide及toggle方法让超链接慢慢消失
Sep 06 Javascript
document.getElementBy(&quot;id&quot;)与$(&quot;#id&quot;)有什么区别
Sep 22 Javascript
jquery实现搜索框常见效果的方法
Jan 22 Javascript
Bootstrap4一次重大更新 几乎涉及每行代码
May 16 Javascript
JavaScript简单实现弹出拖拽窗口(一)
Jun 17 Javascript
angularjs实现上拉加载和下拉刷新数据功能
Jun 12 Javascript
利用three.js画一个3D立体的正方体示例代码
Nov 19 Javascript
vue使用$emit时,父组件无法监听到子组件的事件实例
Feb 26 Javascript
浅谈React中的元素、组件、实例和节点
Feb 27 Javascript
vue.js中$set与数组更新方法
Mar 08 Javascript
微信小程序实现发红包功能
Jul 11 Javascript
Vue 列表上下过渡效果的实例代码
Jun 25 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的面试题集,附我的答案和分析(一)
2006/11/19 PHP
将文件夹压缩成zip文件的php代码
2009/12/14 PHP
php使用SAE原生Mail类实现各种类型邮件发送的方法
2016/10/10 PHP
Laravel 实现密码重置功能
2018/02/23 PHP
javascript-TreeView父子联动效果保持节点状态一致
2007/08/12 Javascript
JQuery Tips(4) 一些关于提高JQuery性能的Tips
2009/12/19 Javascript
jquery遍历select元素(实例讲解)
2013/12/31 Javascript
浅析Javascript中bind()方法的使用与实现
2016/04/29 Javascript
jQuery表单对象属性过滤选择器实例详解
2016/09/13 Javascript
Bootstrap字体图标无法正常显示的解决方法
2016/10/08 Javascript
JS判断鼠标进入容器的方向与window.open新窗口被拦截的问题
2016/12/23 Javascript
一个Vue页面的内存泄露分析详解
2018/06/25 Javascript
vue项目打包后打开页面空白解决办法
2018/06/29 Javascript
Vue官方推荐AJAX组件axios.js使用方法详解与API
2018/10/09 Javascript
vue 移动端注入骨架屏的配置方法
2019/06/25 Javascript
node.js使用mongoose操作数据库实现购物车的增、删、改、查功能示例
2019/12/23 Javascript
flexible.js实现移动端rem适配方案
2020/04/07 Javascript
Vue中关闭弹窗组件时销毁并隐藏操作
2020/09/01 Javascript
Python登录注册验证功能实现
2018/06/18 Python
CentOS7安装Python3的教程详解
2019/04/10 Python
Python中函数的基本定义与调用及内置函数详解
2019/05/13 Python
如何用Python破解wifi密码过程详解
2019/07/12 Python
浅谈Python中函数的定义及其调用方法
2019/07/19 Python
Python的形参和实参使用方式
2019/12/24 Python
python框架flask入门之路由及简单实现方法
2020/06/07 Python
CSS3 选择器 伪类选择器介绍
2012/01/21 HTML / CSS
美国嘻哈首饰购物网站:Hip Hop Bling
2016/12/30 全球购物
联想哥伦比亚网上商城:Lenovo Colombia
2017/01/10 全球购物
合作意向书
2014/07/30 职场文书
幼儿园教师节活动总结
2015/03/23 职场文书
2015年监理工作总结范文
2015/04/07 职场文书
老生常谈 使用 CSS 实现三角形的技巧(多种方法)
2021/04/13 HTML / CSS
redis使用不当导致应用卡死bug的过程解析
2021/07/01 Redis
Java比较两个对象中全部属性值是否相等的方法
2021/08/07 Java/Android
Python的代理类实现,控制访问和修改属性的权限你都了解吗
2022/03/21 Python
Tomcat项目启动失败的原因和解决办法
2022/04/20 Servers