jquery与后台交互,传递json对象的使用方法

使用了一个解析json的jar包, json-lib.jar以及一些关联的jar包

1、后台传递json字符串,用jquery获取并解析

(1)需要再后台构造出json的字符串。这里我使用的是将一个javabean,转换成json字符串的方法。然后发送到前台

  1. List<Person> persons = personService.getPersonList();  
  2. response.setContentType("text/html;charset=utf-8");  
  3. response.setCharacterEncoding("utf-8");  
  4. PrintWriter pw= response.getWriter();  
  5. JSONArray json_ps = JSONArray.fromObject(persons);  
  6. pw.write(json_ps.toString());  

然后再前台,我们在$.post()的返回函数中获取,并解析。有一点,使用post()和ajax()解析的时候,有一点不太一样

$.post()方式:

  1. $.post(  
  2.    "<%=request.getContextPath()%>/info.do",  
  3.    {personStr:person},  
  4.    function(ps){  
  5.         var persons = $.parseJSON(ps);  
  6.         $.each(persons,function(i){  
  7.             alert(persons[i].name);  
  8.     });  
  9. });  

$.ajax()方式:

  1. $.ajax({  
  2. type:"post",                url:"<%=request.getContextPath()%>/info.do",  
  3. data:{personStr:person},  
  4. success:function(ps){  
  5.     $.each(ps,function(i){  
  6.         alert(ps[i].name);  
  7.             });  
  8.     },  
  9. dataType:"json"});  
  10. });  

用$.post()或取的数据需要用$.parseJSON()方法转换成json对象,而$.ajax()方法不需要,它得到的直接就是一个json对象,可以直接访问。

 

2、传递json对象到后台

 

这个主要是需要构造出正确的json字符串,然后当成普通的字符串发送到后台就行了,然后在后台解析。

  1. var person = '{"id":5,"name":"aa","age":25,"high":155.00}';  
  1. String personJ = request.getParameter("personStr");  
  2.         JSONObject jsonObject = JSONObject.fromObject(personJ);  
  3.         Person person = (Person)JSONObject.toBean(jsonObject,Person.class);  

其中"personStr"就是前台通过ajax传递过来的json数据。


  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值