開發web項目時,常常會使用到的頁面腳本語言javascript,使用它能讓頁面展現上的效果更多彩。javascript
今天就來講一下,從數據庫中獲取到數據後在頁面上的展現方式:java
1.數據庫取出數據放入list<object>,將其使用jsonobject封裝成json串:jquery
<select id="selectAll" resultMap="BaseResultMap" parameterType="java.util.Map"> select <include refid="Base_Column_List" /> from user </select>
業務層將數據返回到控制層代碼簡單,此處略過。也可參考個人另外一篇隨筆:關於spingmvc
此處是list數據的json封裝,代碼以下:
public void writeChartJson(List<Object> list, HttpServletResponse res) throws IOException { int size = list.size(); StringBuffer sb = new StringBuffer(); sb.append("{"); sb.append("\"count\":" + size + ","); sb.append("\"resultList\":"); JSONArray jsonArray = JSONArray.fromObject(list); sb.append(jsonArray); sb.append("}"); StringBuffer temp = new StringBuffer(); StringTokenizer token = new StringTokenizer(sb.toString(), "\n\r\t"); while (token.hasMoreTokens()) temp.append(token.nextToken()); res.setContentType("text/json; charset=utf-8"); System.out.println(temp.toString()); res.getWriter().print(temp.toString()); }
2.前臺jsp頁面,首先引入jquery.js,請求後臺獲取list的json數據並解析:web
$(function() { $.ajax({ type: "POST", url: "<%=basePath%>admin/xxx/getXXX.do", data:{}, success: function(msg){ var count = msg.count; if(count > 0){ for(var i=0;i<count;i++){ var id=msg.resultList[i].id; var name=msg.resultList[i].name; alert(id); } }else{ alert("無數據"); } }, error: function(){ alert("出錯"); } }); });
後臺獲取的map集合封裝json,代碼和上面相似,不在贅述。ajax
前臺請求獲取代碼同上,處理不一樣以下:數據庫
success: function(msg){ var count = msg.count; if(count > 0){ var arr = msg.resultList[0]; for(var key in arr){ alert("key:"+key+",value:"+arr[key]); var ar1=arr[key][0]; var ar2=arr[key][1]; alert(ar1); } }else{ alert("無數據"); } }
以上就是我的使用js對json數據的解析處理了,作個小例子,記錄一下曾經使用過。json