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按钮 请告诉我你最喜欢哪些?
Jan 08 Javascript
JS父页面与子页面相互传值方法
Mar 05 Javascript
JavaSacript中charCodeAt()方法的使用详解
Jun 05 Javascript
js图片轮播特效代码分享
Sep 07 Javascript
javascript每日必学之基础入门
Feb 16 Javascript
JS中的hasOwnProperty()和isPrototypeOf()属性实例详解
Aug 11 Javascript
详解vue服务端渲染(SSR)初探
Jun 19 Javascript
React Native 搭建开发环境的方法步骤
Oct 30 Javascript
将Sublime Text 3 添加到右键中的简单方法
Dec 12 Javascript
vue如何根据网站路由判断页面主题色详解
Nov 02 Javascript
jquery图片预览插件实现方法详解
Jul 18 jQuery
使用layer弹窗,制作编辑User信息页面的方法
Sep 27 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
一个阿拉伯数字转中文数字的函数
2006/10/09 PHP
php xml文件操作代码(一)
2009/03/20 PHP
php使用glob函数遍历文件和目录详解
2016/09/23 PHP
PHP请求远程地址设置超时时间的解决方法
2016/10/29 PHP
thinkphp5 + ajax 使用formdata提交数据(包括文件上传) 后台返回json完整实例
2020/03/02 PHP
锋利的jQuery 要点归纳(二) jQuery中的DOM操作(下)
2010/03/23 Javascript
游览器中javascript的执行过程(图文)
2012/05/20 Javascript
可自己添加html的伪弹出框实现代码
2013/09/08 Javascript
javascript中if和switch,==和===详解
2015/07/30 Javascript
javascript for-in有序遍历json数据并探讨各个浏览器差异
2015/11/30 Javascript
JQuery实现网页右侧随动广告特效
2016/01/17 Javascript
深入理解Angular中的依赖注入
2017/06/26 Javascript
react 兄弟组件如何调用对方的方法示例
2018/10/23 Javascript
详解Vue源码学习之双向绑定
2019/04/10 Javascript
Vue keepAlive 数据缓存工具实现返回上一个页面浏览的位置
2019/05/10 Javascript
Vue Router history模式的配置方法及其原理
2019/05/30 Javascript
Vue 2.0 侦听器 watch属性代码详解
2019/06/19 Javascript
[01:13]2015国际邀请赛线下观战现场
2015/08/08 DOTA
Python 检查数组元素是否存在类似PHP isset()方法
2014/10/14 Python
实例Python处理XML文件的方法
2015/08/31 Python
基于python中的TCP及UDP(详解)
2017/11/06 Python
一篇文章了解Python中常见的序列化操作
2019/06/20 Python
Django rest framework jwt的使用方法详解
2019/08/08 Python
Python之time模块的时间戳,时间字符串格式化与转换方法(13位时间戳)
2019/08/12 Python
HTML5学习心得总结(推荐)
2016/07/08 HTML / CSS
佳能加拿大网上商店:Canon eStore Canada
2018/04/04 全球购物
集团公司总经理岗位职责
2013/12/20 职场文书
小学生学习感言
2014/03/10 职场文书
应届生求职自荐信范文
2014/04/07 职场文书
2014年大学生社会实践自我鉴定
2014/09/26 职场文书
写给医院的感谢信
2015/01/22 职场文书
二审代理词范文
2015/05/25 职场文书
运动会100米加油稿
2015/07/21 职场文书
假期读书倡议书3篇
2019/08/19 职场文书
解析在浏览器地址栏输入一个URL后发生了什么
2021/06/21 Servers
vue里使用create, mounted调用方法
2022/04/26 Vue.js