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


  開發web項目時,經常會使用到的頁面腳本語言javascript,使用它能讓頁面展示上的效果更多彩。

  今天就來說一下,從數據庫中獲取到數據后在頁面上的展示方式:

  1.數據庫取出數據放入list<object>,將其使用jsonobject封裝成json串:

  <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數據並解析:

  $(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,代碼和上面類似,不在贅述。

前台請求獲取代碼同上,處理不同如下:

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數據的解析處理了,做個小例子,記錄一下曾經使用過。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM