Java中使用json与前台Ajax数据交互的方法
本文主要为大家分享了Ajax获取显示Json数据的一种方法,供大家参考,具体内容如下
1、首先前台用Ajax,其中注意dataType一定要选择json方式,Action成功返回给页面的Json内容是这样的[{"number":"V006","names":"LiLei"}],可见comment['names']对应"names":"LiLei",comment['number']对应"number":"V006"。
$.ajax({ type:"post", url:'apply/mystudent.action?', cache:false, dataType:"json", success:function(data){ $.each(data,function(commentIndex,comment){ alert("姓名"+comment['names']); alert("学号"+comment['number']); }); } });
2、Ajax的URL指向在java的action中mystudent方法,返回的list其实是一个对象Student,包括了names和nunmber字段
publicStringmystudent()throwsException{ Listlist=priceService.query();//调用接口实现类 this.jsonUtil(list); returnnull; }
3、action页面专门写一个方法jsonUtil来做为json方法
//调用json工具方法,传入参数alist publicvoidjsonUtil(Objectaccountlist)throwsException{ HttpServletResponseresponse=ServletActionContext.getResponse(); log.info("JSON格式:"+accountlist.toString()); StringreturnJson=JsonConvert.returnJson(accountlist); response.setCharacterEncoding("utf-8"); response.getWriter().println(returnJson); }
4、我用的是一种比较新的json包jackson
importjava.io.StringWriter; importorg.codehaus.jackson.map.ObjectMapper; publicclassJsonConvert{ staticStringjsonStr; publicstaticStringreturnJson(Objectobject)throwsException{ ObjectMapperobjectMapper=newObjectMapper(); StringWriterstringWriter=newStringWriter(); objectMapper.writeValue(stringWriter,object); jsonStr=stringWriter.toString(); returnjsonStr; } }
以上就是本文的全部内容,希望对大家的学习有所帮助。