发布于 2017-04-08 03:23:46 | 134 次阅读 | 评论: 0 | 来源: 网友投递
jQuery javascript框架
jQuery是一个兼容多浏览器的javascript框架,核心理念是write less,do more(写得更少,做得更多)。jQuery在2006年1月由美国人John Resig在纽约的barcamp发布,吸引了来自世界各地的众多JavaScript高手加入,由Dave Methvin率领团队进行开发。
本文实例分析了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程序设计有所帮助。