刚用json,不太熟悉,现在通过查询得到一堆数据,想把它显示为列表的形式,不知道如何去做。请帮忙解决一下,谢谢!
点查询会到后台
JAVA:
List<?> workOrderInfoList = workOrderInfoManagerDB.getWorkOrderInfoByConditions(db, request);
response.setContentType("text/html;charset=utf-8");
PrintWriter out = response.getWriter();
if (workOrderInfoList != null && !workOrderInfoList.isEmpty()) {
//若list不为空,则将其转换成JSON对象,并存入jsonArray中
JSONArray jsonArray = JSONArray.fromObject(workOrderInfoList);
//下面就是把存有查询结果的JSON对象返给页面
out.println(jsonArray);
JS:
$.getJSON(
"../workOrderInfoManager/workOrderInfo.do?method=queryWorkOrderInfoByConditions",
jsonStr,
function(json){
//循环取json中的数据,并呈现在列表中
$.each(json,function(i){
$("#aa").html(json[i].vcworkordername);
$("#bb").html(json[i].vcworkorderid);
})
})
其中JSP页面列为是aa和bb,行为test
这样取的话只是把循环的最后一条显示出来了,问一下如何才能把所有的都显示出来
点查询会到后台
JAVA:
List<?> workOrderInfoList = workOrderInfoManagerDB.getWorkOrderInfoByConditions(db, request);
response.setContentType("text/html;charset=utf-8");
PrintWriter out = response.getWriter();
if (workOrderInfoList != null && !workOrderInfoList.isEmpty()) {
//若list不为空,则将其转换成JSON对象,并存入jsonArray中
JSONArray jsonArray = JSONArray.fromObject(workOrderInfoList);
//下面就是把存有查询结果的JSON对象返给页面
out.println(jsonArray);
JS:
$.getJSON(
"../workOrderInfoManager/workOrderInfo.do?method=queryWorkOrderInfoByConditions",
jsonStr,
function(json){
//循环取json中的数据,并呈现在列表中
$.each(json,function(i){
$("#aa").html(json[i].vcworkordername);
$("#bb").html(json[i].vcworkorderid);
})
})
其中JSP页面列为是aa和bb,行为test
这样取的话只是把循环的最后一条显示出来了,问一下如何才能把所有的都显示出来
while (i < jsonArray.size) {
$("#aa").html(jsonArray[i].vcworkordername);
$("#bb").html(jsonArray[i].vcworkorderid);
i++;
}
我用each感觉应该没有问题。
感觉是取列取的不正确。
我解决的方法是这样的,希望能看到更好的方法
$.getJSON(
"../workOrderInfoManager/workOrderInfo.do?method=queryWorkOrderInfoByConditions",//产生JSON数据的服务端页面
jsonStr,
function(json){
$("#list").empty();
var listHtml='';
//循环取json中的数据,并呈现在列表中
listHtml += '<table width="400" border="1">'
$.each(json,function(i){
listHtml += '<tr>';
listHtml += '<td>'+json[i].vcworkorderid+'</td>';
listHtml += '<td>'+json[i].vcworkordername+'</td>';
listHtml += '</tr>';
})
listHtml += '</table>';
$("#list").append(listHtml);
})
var resultstr='';
var json=eval('('+msg+')');
$.each(json, function(i, item){resultstr+='<tr><td>'+i+'</td><td>'+item.name+'</td><td>'+item.nick+'</td></tr>'});