JSON在Java后台及JS处理

 java 后台接受JSON字段及发送JSON数组

 

发送JSON字段

public class SubmitServlet extends HttpServlet {
	 protected void service(HttpServletRequest request, HttpServletResponse response) 
	            throws ServletException, IOException {
	        String data =request.getParameter("data");
	         //接受收据(此时是字符串,但是是字符串格式的)
	        System.out.println("服务端接收到的数据是:" +data);
	        //将字符串格式的字段转换为JSon字段
	        JSONObject json=JSONObject.fromObject(data); 
	          
	        System.out.println("转换为JSON对象之后是:"+ json);
	        //将JSon字段转换为Java类   
	        Hero hero = (Hero)JSONObject.toBean(json,Hero.class); 
	        System.out.println("转换为Hero对象之后是:"+hero);
	        
	        
	  
	         	  
	        response.setContentType("text/plain");	 
	        response.getWriter().print(JSONSerializer.toJSON(heros).toString());
	        
	    } 

}

如果发送JSON数组


		List<AcceptedDetail> rets =  getAcceptedDetail.getAcceptedList(mouth);
		
		System.out.println("aaaaaaaaa"+mouth+ "ret cnt : "+ rets.size() );
		
		//转化为JSON字段
		String jsonRets =JSONSerializer.toJSON(rets).toString();
		response.setContentType("text/html;charset=utf-8");
		//response.getWriter().print(jsonRets);;
		PrintWriter out = response.getWriter();
	    out.print(jsonRets);
		

 

 

如果返回JSON字段

  JSONObject retJson= new JSONObject();
	   
	        retJson.put("name", retHero.getName());
	        retJson.put("hp", retHero.getHp()+"");
	        response.setContentType("text/html;charset=utf-8"); 
	        response.getWriter().print(retJson);

 

JS发送JSON字段以及解析JSON数组:

 <script>  
    $('#sender').click(function(){  
        var name=document.getElementById('name').value;  
        var hp=document.getElementById('hp').value;  
        var hero={"name":name,"hp":hp};  
        var url="submitServlet";  
          
        $.post(
        		url, 
        		{"data":JSON.stringify(hero)},
        		function(data) {  
        	var json=JSON.parse(data); 
                     var name =json[2].name; 
                     var hp = json[3].hp;
		             alert("提交成功,获得"+name+"血量"+hp);
         });   

    });  
    </script>  

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值