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 相关文章推荐
JavaScript 事件系统
Jul 22 Javascript
一款Jquery 分页插件的改造方法(服务器端分页)
Jul 11 Javascript
Javascript 加载和执行-性能提高篇
Dec 28 Javascript
javascript计算当月剩余天数(天数计算器)示例代码
Jan 09 Javascript
JS实现不使用图片仿Windows右键菜单效果代码
Oct 22 Javascript
Angularjs使用directive自定义指令实现attribute继承的方法详解
Aug 05 Javascript
ReactJs快速入门教程(精华版)
Nov 28 Javascript
简单实现js浮动框
Dec 13 Javascript
JavaScript拖动层Div代码
Mar 01 Javascript
vue axios 表单提交上传图片的实例
Mar 16 Javascript
基于jQuery实现的设置文本区域的光标位置
Jun 15 jQuery
angular中如何绑定iframe中src的方法
Feb 01 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中实现Javascript的escape()函数代码
2010/08/08 PHP
浅析PHP绘图技术
2013/07/03 PHP
php根据某字段对多维数组进行排序的方法
2015/03/07 PHP
PHP使用array_merge重新排列数组下标的方法
2015/07/22 PHP
php多线程实现方法及用法实例详解
2015/10/26 PHP
PHP7多线程搭建教程
2017/04/21 PHP
实现php删除链表中重复的结点
2018/09/27 PHP
PHP PDO数据库操作预处理与注意事项
2019/03/16 PHP
javascript 全角转换实现代码
2009/07/17 Javascript
基于jQuery的history历史记录插件
2010/12/11 Javascript
圣诞节Merry Christmas给博客添加浪漫的下雪效果基于jquery实现
2012/12/27 Javascript
javascript数字时钟示例分享
2014/04/23 Javascript
js中字符串编码函数escape()、encodeURI()、encodeURIComponent()区别详解
2016/04/01 Javascript
JS构造函数与原型prototype的区别介绍
2016/07/04 Javascript
基于JS实现移动端向左滑动出现删除按钮功能
2017/02/22 Javascript
Vue 仿QQ左滑删除组件功能
2018/03/12 Javascript
JS实现常见的查找、排序、去重算法示例
2018/05/21 Javascript
使用 vue 实例更好的监听事件及vue实例的方法
2019/04/22 Javascript
Vue中通过vue-router实现命名视图的问题
2020/04/23 Javascript
Openlayers实现点闪烁扩散效果
2020/09/24 Javascript
[02:19]2018年度DOTA2最佳核心位选手-完美盛典
2018/12/17 DOTA
详解Python3的TFTP文件传输
2018/06/26 Python
python 发送和接收ActiveMQ消息的实例
2019/01/30 Python
PyQt 实现使窗口中的元素跟随窗口大小的变化而变化
2019/06/18 Python
Python Numpy库常见用法入门教程
2020/01/16 Python
pycharm 2018 激活码及破解补丁激活方式
2020/09/21 Python
软件测试工程师面试问题精选
2016/10/28 面试题
现金会计岗位职责
2013/12/05 职场文书
学校安全检查制度
2014/01/27 职场文书
个人评语大全
2014/05/04 职场文书
会计实训报告范文
2014/11/04 职场文书
小学教师师德师风承诺书
2015/04/28 职场文书
《天净沙·秋思》教学反思三篇
2019/11/02 职场文书
php中pcntl_fork详解
2021/04/01 PHP
利用python进行数据加载
2021/06/20 Python
苹果的回收机器人可以通过拆解iPhone获取大量的金和铜并外公布了环境保护最新进展
2022/04/21 数码科技