javascript應用:頁面解析list和map封裝後的json數據

  開發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

相關文章
相關標籤/搜索