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 相关文章推荐
限制textbox或textarea输入字符长度的JS代码
Oct 16 Javascript
javascript操作css属性
Dec 30 Javascript
js+div实现图片滚动效果代码
Feb 10 Javascript
一个JavaScript的求爱小特效
May 09 Javascript
input:checkbox多选框实现单选效果跟radio一样
Jun 16 Javascript
使用jQuery制作浮动工具栏的实例分享
May 13 Javascript
javascript常用经典算法详解
Jan 11 Javascript
原生JS实现不断变化的标签
May 22 Javascript
基于node打包可执行文件工具_Pkg使用心得分享
Jan 24 Javascript
VueJS 组件参数名命名与组件属性转化问题
Dec 03 Javascript
node将geojson转shp返回给前端的实现方法
May 29 Javascript
Vue3中toRef与toRefs的区别
Mar 24 Vue.js
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
自己动手,丰衣足食 - 短波框形天线制作
2021/03/01 无线电
php中文本数据翻页(留言本翻页)
2006/10/09 PHP
php 变量定义方法
2009/06/14 PHP
PHP服务器页面间跳转实现方法
2012/08/02 PHP
php curl 伪造IP来源的实例代码
2012/11/01 PHP
php多进程并发编程防止出现僵尸进程的方法分析
2020/02/28 PHP
计算新浪Weibo消息长度(还可以输入119字)
2013/07/02 Javascript
不提示直接关闭网页窗口的JS示例代码
2013/12/17 Javascript
jQery使网页在显示器上居中显示适用于任何分辨率
2014/06/09 Javascript
20条学习javascript的编程规范的建议
2014/11/28 Javascript
JS函数this的用法实例分析
2015/02/05 Javascript
js实现图片漂浮效果的方法
2015/03/02 Javascript
jQuery+slidereveal实现的面板滑动侧边展出效果
2015/03/14 Javascript
javascript框架设计之浏览器的嗅探和特征侦测
2015/06/23 Javascript
JS实现带鼠标效果的头像及文章列表代码
2015/09/27 Javascript
微信小程序实战之自定义抽屉菜单(7)
2017/04/18 Javascript
微信小程序之事件交互操作实例分析
2018/12/03 Javascript
关于layui 弹出层一闪而过就消失的解决方法
2019/09/09 Javascript
uni-app微信小程序登录授权的实现
2020/05/22 Javascript
Python上传package到Pypi(代码简单)
2016/02/06 Python
Anaconda下配置python+opencv+contribx的实例讲解
2018/08/06 Python
Python字符串的全排列算法实例详解
2019/01/07 Python
Python静态类型检查新工具之pyright 使用指南
2019/04/26 Python
django序列化serializers过程解析
2019/12/14 Python
PyTorch 对应点相乘、矩阵相乘实例
2019/12/27 Python
Python爬取阿拉丁统计信息过程图解
2020/05/12 Python
在django admin中配置搜索域是一个外键时的处理方法
2020/05/20 Python
CSS3制作皮卡丘动画壁纸的示例
2020/11/02 HTML / CSS
init进程的作用
2012/04/12 面试题
党的群众路线教育实践活动个人承诺书
2014/05/22 职场文书
2015年国庆节慰问信
2015/03/23 职场文书
天那边观后感
2015/06/09 职场文书
女性健康讲座主持词
2015/07/04 职场文书
三好学生主要事迹怎么写
2015/11/03 职场文书
Java8 Stream API 提供了一种高效且易于使用的处理数据的方式
2022/04/13 Java/Android
使用vuex-persistedstate本地存储vuex
2022/04/29 Vue.js