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 相关文章推荐
Prototype Selector对象学习
Jul 23 Javascript
jquery 单击li防止重复加载的实现代码
Dec 24 Javascript
js中页面的重新加载(当前页面/上级页面)及frame或iframe元素引用介绍
Jan 24 Javascript
简介JavaScript中toTimeString()方法的使用
Jun 12 Javascript
javascript给span标签赋值的方法
Nov 26 Javascript
基于JavaScript代码实现兼容各浏览器的设为首页和加入收藏
Jan 07 Javascript
JavaScript仿百度图片浏览效果
Nov 23 Javascript
JavaScript中的FileReader图片预览上传功能实现代码
Jul 24 Javascript
使用mint-ui实现省市区三级联动效果的示例代码
Feb 09 Javascript
JS数组去重常用方法实例小结【4种方法】
May 28 Javascript
vue实现输入框的模糊查询的示例代码(节流函数的应用场景)
Sep 01 Javascript
vue 对axios get pust put delete封装的实例代码
Jan 05 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实现批量下载百度云盘文件例子分享
2014/04/10 PHP
Laravel框架中扩展函数、扩展自定义类的方法
2014/09/04 PHP
PHP获取链表中倒数第K个节点的方法
2018/01/18 PHP
PHP中使用CURL发送get/post请求上传图片批处理功能
2018/10/15 PHP
基于jquery的滚动条滚动固定div(附演示下载)
2012/10/29 Javascript
在图片上显示左右箭头类似翻页的代码
2013/03/04 Javascript
JavaScript解析URL参数示例代码
2013/08/12 Javascript
js去空格技巧分别去字符串前后、左右空格
2013/10/21 Javascript
js arguments,jcallee caller用法总结
2013/11/30 Javascript
JS实现字符串转驼峰格式的方法
2016/12/16 Javascript
在 Angular2 中实现自定义校验指令(确认密码)的方法
2017/01/23 Javascript
Vue.js结合Ueditor富文本编辑器的实例代码
2017/07/11 Javascript
谈谈对vue响应式数据更新的误解
2017/08/01 Javascript
Vue.js实现按钮的动态绑定效果及实现代码
2017/08/21 Javascript
Node.js中的不安全跳转如何防御详解
2018/10/21 Javascript
微信小程序3D轮播实现代码
2019/09/19 Javascript
原生JS实现留言板
2020/03/26 Javascript
python集合类型用法分析
2015/04/08 Python
使用Python脚本将绝对url替换为相对url的教程
2015/04/24 Python
python for 循环获取index索引的方法
2019/02/01 Python
使用pandas 将DataFrame转化成dict
2019/12/10 Python
带你彻底搞懂python操作mysql数据库(cursor游标讲解)
2020/01/06 Python
django 扩展user用户字段inlines方式
2020/03/30 Python
python两种获取剪贴板内容的方法
2020/11/06 Python
我未来的职业规划范文
2014/01/11 职场文书
新闻编辑专业毕业自荐书范文
2014/02/05 职场文书
加多宝凉茶广告词
2014/03/18 职场文书
地球一小时宣传标语
2014/06/24 职场文书
关于读书的活动方案
2014/08/14 职场文书
2014年扫黄打非工作总结
2014/12/03 职场文书
学雷锋倡议书
2015/01/19 职场文书
投标承诺函范文
2015/01/21 职场文书
MySQL 使用自定义变量进行查询优化
2021/05/14 MySQL
关于redisson缓存序列化几枚大坑说明
2021/08/04 Redis
MySQL之select、distinct、limit的使用
2021/11/11 MySQL
Python内置包对JSON文件数据进行编码和解码
2022/04/12 Python