首页 > 编程 > JavaScript > 正文

jQuery解析json数据实例分析

2019-11-20 11:11:04
字体:
来源:转载
供稿:网友

本文实例分析了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程序设计有所帮助。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表