c json 数组转dirction_JSONObject与JSONArray使用方法解析

需要导入: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 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 += "

 ";

html += "

"

+ kyReportBean.kyReportid

+ " 

";

html += "

" + " ";

}

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");

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值