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 相关文章推荐
js jquery分别实现动态的文件上传操作按钮的添加和删除
Jan 13 Javascript
网站接入QQ登录的两种方法
Jul 22 Javascript
jQuery增加自定义函数的方法
Jul 18 Javascript
jquery专业的导航菜单特效代码分享
Aug 29 Javascript
Javascript函数式编程简单介绍
Oct 11 Javascript
jQuery页面元素动态添加后绑定事件丢失方法,非 live
Jun 16 Javascript
Javascript基础学习笔记(菜鸟必看篇)
Jul 22 Javascript
使用yeoman构建angular应用的方法
Aug 14 Javascript
JS实现的点击按钮图片上下滚动效果示例
Jan 28 Javascript
Vue中computed、methods与watch的区别总结
Apr 10 Javascript
解决Vue 刷新页面导航显示高亮位置不对问题
Dec 25 Javascript
微信公众号网页分享功能开发的示例代码
May 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
php与mysql建立连接并执行SQL语句的代码
2011/07/04 PHP
PHP5.3的垃圾回收机制(动态存储分配方案)深入理解
2012/12/10 PHP
php使用exec shell命令注入的方法讲解
2013/11/12 PHP
php关联数组快速排序的方法
2015/04/17 PHP
php常量详细解析
2015/10/27 PHP
Yii2处理密码加密及验证的方法
2019/05/12 PHP
laravel-admin 实现给grid的列添加行数序号的方法
2019/10/08 PHP
WEB页子窗口(showModalDialog和showModelessDialog)使用说明
2009/10/25 Javascript
Javascript UrlDecode函数代码
2010/01/09 Javascript
javascript实现文本域写入字符时限定字数
2014/02/12 Javascript
jquery 使用简明教程
2014/03/05 Javascript
jQuery实现强制cookie过期方法汇总
2015/05/22 Javascript
常用原生JS兼容性写法汇总
2016/04/27 Javascript
分享12个非常实用的JavaScript小技巧
2016/05/11 Javascript
AngularJS 面试题集锦
2016/09/06 Javascript
D3.js实现散点图和气泡图的方法详解
2016/09/21 Javascript
ES6中module模块化开发实例浅析
2017/04/06 Javascript
Node.js 实现抢票小工具 &amp; 短信通知提醒功能
2019/10/22 Javascript
js实现mp3录音通过websocket实时传送+简易波形图效果
2020/06/12 Javascript
[05:53]敌法师的金色冠名ID"BurNIng",是传说,是荣耀
2020/07/11 DOTA
查看keras各种网络结构各层的名字方式
2020/06/11 Python
python 高阶函数简单介绍
2021/02/19 Python
CSS类名支持中文命名的示例
2014/04/04 HTML / CSS
AmazeUI 导航条的实现示例
2020/08/14 HTML / CSS
Clarisonic美国官网:科莱丽声波洁面仪
2017/10/12 全球购物
泰国综合购物网站:Lazada泰国
2018/04/09 全球购物
蒂娜商店:Tiina the Store
2019/12/07 全球购物
西班牙在线光学:Visual-Click
2020/06/22 全球购物
介绍一下SQL中union,intersect和minus
2012/04/05 面试题
小学教师国培感言
2014/02/08 职场文书
消防安全汇报材料
2014/02/08 职场文书
委托公证书范本
2014/04/03 职场文书
2014党的群众路线教育实践活动总结报告
2014/10/31 职场文书
乡镇群众路线专项整治方案
2014/11/03 职场文书
趣味运动会口号
2015/12/24 职场文书
Redis数据同步之redis shake的实现方法
2022/04/21 Redis