首頁 >web前端 >js教程 >jQuery解析json資料實例分析_jquery

jQuery解析json資料實例分析_jquery

WBOY
WBOY原創
2016-05-16 15:30:171272瀏覽

本文實例分析了jQuery解析json資料的方法。分享給大家參考,具體如下:

先來看看我們的Json資料格式:

[
{id:01,name:"小白",old:29,sex:"男"},
{id:02,name:"小蓝",old:29,sex:"男"},
{id:03,name:"小雅",old:29,sex:"男"}
]

為了消除亂碼問題,我們設定一個過濾器(程式碼片段)

public void doFilter(ServletRequest req, ServletResponse resp, FilterChain chain) throws ServletException, IOException {
    req.setCharacterEncoding("UTF-8");
    resp.setCharacterEncoding("UTF-8");
    resp.setContentType("text/html;charset=UTF-8");
    chain.doFilter(req, resp);
}

服務端我用Servlet產生json資料(程式碼片段)。

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    PrintWriter out = response.getWriter(); //过滤器已经做过编码转化了。 resp.setContentType("text/html;charset=UTF-8");
    StringBuffer sb = new StringBuffer();
    sb.append("[{id:01,name:\"小白\",old:29,sex:\"男\"},");
    sb.append("{id:02,name:\"小蓝\",old:29,sex:\"男\"},");
    sb.append("{id:03,name:\"小雅\",old:29,sex:\"男\"}]");
    out.print(sb);
}

頁面端JQuery程式碼:

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head><title>json学习</title>
  <meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
  <script type="text/javascript" src="jslib/jquery.js" charset="UTF-8"></script>
  <script type="text/javascript" charset="UTF-8">
    $(document).ready(function() {
      var select = $("#select");
      $.get("json.do", null, function(data) {
        var jsonData = eval(data);//接收到的数据转化为JQuery对象,由JQuery为我们处理
        $.each(jsonData, function(index, objVal) { //遍历对象数组,index是数组的索引号,objVal是遍历的一个对象。
          //val["属性"]可取到对应的属性值。
          $("<option>").attr("value", objVal["id"]).html(objVal["name"]).appendTo(select);
        });
      });
    });
  </script>
</head>
<body>
<select id="select"></select>
</body>
</html>

之前為了省事,我層把json資料寫到json.txt,json.jsp中,不用Servlet封裝,可是後來我用Firebug調試了一下

寫到.jsp、.txt檔案中的json數據,沒有被解析出來,Firebug中調試了一下,10行斷點下一步直接結束,

就沒有遍歷物件數組。於是分別測試了一下

 文字檔  json.txt
 jsp文件   json.jsp
 Servlet   json.do

傳回的數據,瀏覽器只有解析出Servlet的回傳的數據是json數據

希望本文所述對大家jQuery程式設計有所幫助。

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn