使用JSON读取和显示数据

本文介绍了如何使用数据库查询并将其结果封装成JSON对象的过程,包括数据分页、JSON对象创建和存储。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

public String getModules(int todo, int offset, int pageSize, int total, int moduleNo) { total = getAllModules(todo, 0, 1, moduleNo).getTotal(); int maxPage = total % pageSize == 0 ? total / pageSize : total / pageSize + 1; if (offset < 0) { offset = 0; } else if (offset >= maxPage) { offset = maxPage - 1; } PageModel pm = getAllModules(todo, offset * pageSize, pageSize, moduleNo); List<Menu> list = pm.getDatas(); JSONObject json = new JSONObject();// json父对象 try { // json集合,用来存储json对象 JSONArray members = new JSONArray(); if (list != null && list.size() > 0) { for (int i = 0; i < list.size(); i++) { // json子对象 JSONObject member = new JSONObject(); member.put("menuId", list.get(i).getMenuId()); member.put("menuNo", list.get(i).getMenuNo()); member.put("parentNo", list.get(i).getParentNo()); member.put("menuName", list.get(i).getMenuName()); member.put("linkURL", list.get(i).getLinkURL()); member.put("description", list.get(i).getDescription()); members.add(i, member); } json.put("offset", offset);// 存储当前页===从0开始 json.put("maxPage", maxPage - 1);// 存储最大页数 json.put("total", total);// 存储所有显示条数 json.put("menus", members);// 存储数据 } } catch (Exception e) { e.printStackTrace(); } return json.toString(); }


以上代码方法为从数据库查询,并用json进行封装。

下面代码介绍json的显示:

function jsonview() { var total = $("total1").innerHTML; var offset = $("offset1").value; var pageSize = 5; menuDao.getModules(1,offset, pageSize, total, wirteHtml); } function wirteHtml(data) { var data = eval("(" + data + ")");// 使用eval函数 var continents = data.menus; $("offset1").value = data.offset; $("maxPage1").value = data.maxPage; $("maxPage2").innerHTML = data.maxPage + 1; $("total1").innerHTML = data.total; $("curpage").innerHTML = data.offset + 1; var tab = $("mytables"); var num = tab.rows.length; for ( var i = 0; i < num; i++) { if (tab.rows.length != 2) { tab.deleteRow(tab.rows.length - 2); } } for ( var i = 0; i < continents.length; i++) { var newLine = tab.rows.length; var row = tab.insertRow(newLine - 1); if (i % 2 != 0) { row.className = "odd";// 奇数行 row.onmouseout = function() { this.className = "odd"; } } else { row.className = "even";// 偶数行 row.onmouseout = function() { this.className = "even"; } } row.onmouseover = function() { this.className = "alt"; } row.insertCell(0).innerHTML = "<input style=\"width:20px;\" type=\"radio\" name=\"rdoId\" value=\"" + continents[i].menuNo+ "\" title=\""+ continents[i].menuName+ "\" />"; row.insertCell(1).innerHTML = continents[i].menuNo; row.insertCell(2).innerHTML = continents[i].menuName + ""; if(continents[i].description==''){ row.insertCell(3).innerHTML = '暂无说明'; } else{ row.insertCell(3).innerHTML = continents[i].description; } } }


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值