本文简单讲诉Jquery处理json与ajax返回的Json的一个例子
JSON中对象通过“{}”来标识,一个“{}”代表一个对象,如{“pwd”:”123”},对象的值是键值对的形式(key:value)。
“[]”,标识数组,数组内部各个数据之间通过“,”分割,一个数组中可以有很多对象,具体表现形式如下:
[{"pwd":"adminpwd01","userName":"admin01"},{"pwd":"adminpwd02","userName":"admin01"}]
下面讲下采用java语言实现通过json对象数据的传输
1.首先建立一个servlet,具体核心代码如下所示:
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html");
PrintWriter out = response.getWriter();
String name=request.getParameter("name");
System.out.println("name="+name);
UserInfo userInfo=new UserInfo();
userInfo.setUserName("admin01");
userInfo.setPwd("adminpwd01");
UserInfo userInfo2=new UserInfo("admin01", "adminpwd02");
List<UserInfo> list=new ArrayList<UserInfo>();
list.add(userInfo);
list.add(userInfo2);
JSONArray ja=JSONArray.fromObject(list);
out.print(ja);
System.out.println("array--->"+ja);
}
上面代码的主要功能是为了实现将对象中数据放到list集合中,然后将list集合中的数据封装到JSON数组中,然后通过OUT.PRINT输出。
再上面的代码中我们要引入jar包
再web.xml中配置servlet以及servlet的映射信息。
2.建立一个jsp
引入jquery.js,具体实现代码如下:
<script type="text/javascript" src="./jquery/js/jquery-2.1.1.js"></script>
<script type="text/javascript">
function test(){
var name=document.getElementById("name").value;
$.ajax({
type:"POST", //请求方式
url:"./s/userServlet", //请求路径
cache: false,
data:"name="+name, //传参
dataType: 'json', //返回值类型
success:function(msg){
var me=msg[0];
var me=msg[0].userName;
for(i in msg){
var me1=msg[i];
}
},
error:function(){
alert("error");
}
});
}
</script>
</head>
<body>
<form action="" method="post" >
<input type="text" name="name" id="name" value="nameme">
<input type="button" name="b" value="测试" οnclick=test()>
</form>
</body>
3.启动服务器,我们通过谷歌浏览器来调试下,看下具体的数据情况。
控制台打印的结果如下: