JSON小例子

本文介绍了一个使用JSON和AJAX进行前后端数据交互的示例,展示了如何通过JavaScript发起POST请求,并从服务器接收并解析JSON响应数据。此外,还提供了服务器端Java代码示例,用于创建和发送JSON响应。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

<script type="text/javascript" src="${pageContext.request.contextPath }/js/prototype.js"></script>
	<script type="text/javascript" src="${pageContext.request.contextPath }/js/jquery-1.3.2.min.js"></script>
	<script type="text/javascript">
		function testJson() {
			$.ajax({
			   type: "POST",
			   url: "JsonServlet",
			   data: "",
			   success: function(msg){
			      var str = eval("("+msg+")");
			      var arr = str.res ;
			      for(var i=0;i<arr.length;i++){
			      	alert(arr[i].username);
			      }
			   }
			});
		}
	
	</script>

 

public void doPost(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {

		response.setContentType("text/html");
		PrintWriter out = response.getWriter();
		JSONArray res = new JSONArray();
		for(int i=0 ; i<5 ; i++){
			JSONObject obj = new JSONObject();
			try {
				obj.put("userid", "userid"+i);
				obj.put("username", "username"+i);
			} catch (JSONException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
			res.put(obj);
		}
		JSONObject obj = new JSONObject();
		try {
			obj.put("res", res);
		} catch (JSONException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
		out.print(obj);
		out.flush();
		out.close();
	}

 例二:

<script type="text/javascript" src="${pageContext.request.contextPath }/js/prototype.js"></script>
	<script type="text/javascript" src="${pageContext.request.contextPath }/js/jquery-1.3.2.min.js"></script>
	<script type="text/javascript">
		function testJson() {
			var val = $("#sele").val();
			alert(val);
			
			$.post(
				"JsonServlet",
				{userid:val},
				function(msg){
			      var str = eval("("+msg+")");
			      var arr = str.res ;
			      for(var i=0;i<arr.length;i++){
			      	alert(arr[i].username);
			      }
			   }
			);
			
			 
		}
	
	</script>
	
	
	
  </head>
  
  <body>
    <input type="button" value="測試JSON" onclick="testJson();">
    <select onchange="testJson();" id="sele">
    	<option value="0">用户0</option>
    	<option value="1">用户1</option>
    	<option value="2">用户2</option>
    	<option value="3">用户3</option>
    	<option value="4">用户4</option>
    </select>
  </body>

 

		JSONObject obj = new JSONObject();
		try {
			obj.put("userid", "userid"+userid);
			obj.put("username", "username"+userid);
		} catch (JSONException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		res.put(obj);
		
		JSONObject obj2 = new JSONObject();
		try {
			obj2.put("res", res);
		} catch (JSONException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
		out.print(obj2);
		out.flush();
		out.close();
	}

  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值