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 日期转换成中文格式的函数
Jul 07 Javascript
javascript 节点排序 2
Jan 31 Javascript
jQuery html()方法使用不了无法显示内容的问题
Aug 06 Javascript
JavaScript实现输入框(密码框)出现提示语
Jan 12 Javascript
微信小程序 网络请求(GET请求)详解
Nov 16 Javascript
jQuery实现隔行变色的方法分析(对比原生JS)
Nov 18 Javascript
Bootstrap select下拉联动(jQuery cxselect)
Jan 04 Javascript
Cookies 和 Session的详解及区别
Apr 21 Javascript
Angular动画实现的2种方式以及添加购物车动画实例代码
Aug 09 Javascript
微信小程序第三方框架对比 之 wepy / mpvue / taro
Apr 10 Javascript
vue-resource:jsonp请求百度搜索的接口示例
Nov 09 Javascript
JavaScript如何操作css
Oct 24 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 curl使用实例
2015/07/02 PHP
如何解决phpmyadmin导入数据库文件最大限制2048KB
2015/10/09 PHP
JavaScript触发器详解
2007/03/10 Javascript
斜45度寻路实现函数
2009/08/20 Javascript
jquery控制listbox中项的移动并排序的实现代码
2010/09/28 Javascript
禁止拷贝网页内容的js代码
2014/01/22 Javascript
jQuery不使用插件及swf实现无刷新文件上传
2014/12/08 Javascript
javascript实现 百度翻译 可折叠的分享按钮列表
2015/03/12 Javascript
JavaScript让Textarea支持tab按键的方法
2015/06/26 Javascript
React-Native中禁用Navigator手势返回的示例代码
2017/09/09 Javascript
vue 自定义组件 v-model双向绑定、 父子组件同步通信的多种写法
2017/11/27 Javascript
解读vue生成的文件目录结构及说明
2017/11/27 Javascript
vue router+vuex实现首页登录验证判断逻辑
2018/05/17 Javascript
在vue项目中正确使用iconfont的方法
2018/09/28 Javascript
微信小程序实现发送模板消息功能示例【通过openid推送消息给用户】
2019/05/05 Javascript
vue webpack重写cookie路径的方法
2019/07/10 Javascript
JavaScript实现简单计算器
2020/03/19 Javascript
EXTJS7实现点击拖拉选择文本
2020/12/17 Javascript
简单分析Python中用fork()函数生成的子进程
2015/05/04 Python
Python提取Linux内核源代码的目录结构实现方法
2016/06/24 Python
详解Python中类的定义与使用
2017/04/11 Python
点球小游戏python脚本
2018/05/22 Python
基于python的BP神经网络及异或实现过程解析
2019/09/30 Python
pycharm工具连接mysql数据库失败问题
2020/04/01 Python
python 下载文件的多种方法汇总
2020/11/17 Python
简单html5代码获取地理位置
2014/03/31 HTML / CSS
浅谈HTML5中dialog元素尝鲜
2018/10/15 HTML / CSS
FitFlop美国官网:英国符合人体工学的鞋类品牌
2018/10/05 全球购物
欧洲最大的高尔夫零售商:American Golf
2019/09/02 全球购物
双立人美国官方商店:ZWILLING集团餐具和炊具
2020/05/07 全球购物
新闻专业推荐信范文
2013/11/20 职场文书
环境卫生工作汇报材料
2014/10/28 职场文书
2015年小学生新年寄语
2014/12/08 职场文书
教师个人自我评价
2015/03/04 职场文书
食品质检员岗位职责
2015/04/08 职场文书
Elasticsearch Recovery 详细介绍
2022/04/19 Java/Android