需要导入: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",{ 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"+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");
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
P70系列延期,华为新旗舰将在下月发布
3月20日消息,近期博主@数码闲聊站 透露,原定三月份发布的华为新旗舰P70系列延期发布,预计4月份上市。
而博主@定焦数码 爆料,华为的P70系列在定位上已经超过了Mate60,成为了重要的旗舰系列之一。它肩负着重返影像领域顶尖的使命。那么这次P70会带来哪些令人惊艳的创新呢?
根据目前爆料的消息来看,华为P70系列将推出三个版本,其中P70和P70 Pro采用了三角形的摄像头模组设计,而P70 Art则采用了与上一代P60 Art相似的不规则形状设计。这样的外观是否好看见仁见智,但辨识度绝对拉满。