由于项目需要通过ajax得到后台的List对象里面的值,由于没有接触过json所以前期我只能先传字符串再在js里截取子串实现。闲暇时间摸索了一下关于json接受List对象的方法,步骤如下:
1.首先下载json所以依赖的包, Json-lib 最新版 json-lib-2.3-jdk15.jar,其官方网站是:
http://json-lib.sourceforge.net/可以直接download,细心的你会发现其网站页面里面有提示它还需要其他包:
Json-lib requires (at least) the following dependencies in your classpath:
•jakarta commons-lang 2.4
•jakarta commons-beanutils 1.7.0
•jakarta commons-collections 3.2
•jakarta commons-logging 1.1.1
•ezmorph 1.0.6
下载地址分别是:
http://commons.apache.org/lang/http://commons.apache.org/beanutils/http://commons.apache.org/collections/http://commons.apache.org/logging/http://ezmorph.sourceforge.net/
2.首先先见一个小web项目
先建一个User类:
- packagecom.json;
- publicclassUser{
- Stringusername;
- Stringpassword;
- publicStringgetUsername(){
- returnusername;
- }
- publicvoidsetUsername(Stringusername){
- this.username=username;
- }
- publicStringgetPassword(){
- returnpassword;
- }
- publicvoidsetPassword(Stringpassword){
- this.password=password;
- }
- }
再建一个servlet
- packagecom.json;
- importjava.io.IOException;
- importjava.io.PrintWriter;
- importjava.util.ArrayList;
- importjava.util.List;
- importjavax.servlet.ServletException;
- importjavax.servlet.http.HttpServlet;
- importjavax.servlet.http.HttpServletRequest;
- importjavax.servlet.http.HttpServletResponse;
- importnet.sf.json.JSONArray;
- publicclassTestJsonextendsHttpServlet{
- publicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)
- throwsServletException,IOException{
- doPost(request,response);
- }
- publicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)
- throwsServletException,IOException{
- response.setContentType("text/html");
- Stringstr=request.getParameter("name");
- System.out.print(str);
- PrintWriterout=response.getWriter();
- Listlist=newArrayList();
- Mapm=newHashMap();
- Useru1=newUser();
- u1.setUsername("zah");
- u1.setPassword("123");
- Useru2=newUser();
- u2.setUsername("ztf");
- u2.setPassword("456");
- list.add(u1);
- list.add(u2);
- m.put("u1",u1);
- m.put("u2",u2);
- JSONArrayjsonArray2=JSONArray.fromObject(list);
- JSONObjectjo=JSONObject.fromObject(m);
- out.print(jsonArray2);
- out.print(jo);
- }
- }
- 配置好web.xml中的servlet映射,这一步就略了。
3.建立ajax实现
这里为了快速实现用的是jquery实现的。
- <scripttype="text/javascript"src="js/jquery.js"></script>
- <scripttype="text/javascript">
- functiontest(){
- $.ajax({
- type:"POST",
- url:"testjson",
- cache:false,
- data:"name=zah",
- dataType:'json',
- success:function(json){
- alert(json[0].username+""json[0].password);
- }
- });
- }
- </script>
- </head>
- <body>
- <inputtype="button"name="b"value="测试"onclick=test()>
- </body>
分享到:
相关推荐
java对象转为json格式,同javascript进行数据交换。
前后台传送list及map,包含了传json时所需要的包及相关内容
JSON数据和Java对象的相互转换 常见的解析器:Jsonlib,Gson,fastjson,jackson JSON转为Java对象 1. 导入jackson的相关jar包 2. 创建Jackson核心对象 ObjectMapper 3.调用ObjectMapper的相关方法进行...
jsp通过Ajax无刷新获取Action返回的模拟数据,然后通过struts2转化成json数据返回页面....这里面Map,List,对象等等,一些常用的操作都有。主要的代码在Action和 json.js里面。适合新手入门
此项目是基于springMVC实现的,基本流程为从前台jsp页面使用Ajax文件上传导入excel文件(.xls(97-03)/.xlsx(07以后)),传到后台controller调用相应工具类解析后返回指定参数做后续处理. 1. POIUtil.java工具类 解析...
json-rpc-for-java,是仅仅不到100行的javascript代码和不到10个java文件实现的超级轻量级的通过 javaScript快速调用java对象并返回任意对象的轻量级框架,并且支持级联调用,也就是说不需要额外 的JavaScript?...
ajax struts 无刷新访问后台返回json数据,返回list、map,java类对象等json数据,前台js解析json数据,内有jar包,代码类。是一个完整的项目实例。
资源名称:J2EE中JSON ...首先页面通过调用JQuery_AJAX方法访问后台Action,在后台Action中将获取到的JavaBean、List、Map等数据类型转换为json-lib.ja 资源太大,传百度网盘了,链接在附件中,有需要的同学自取。
在做web开发的时候总会用到jquery 的ajax 技术,然而通过ajax 技术从服务端获取的数据大多是json 格式的数据,所以将不同类型的数据转成json 格式是件很常见的技术,总结一下两种方法!
23、List、Set和Map的区别? 74 24、Collection 和 Collections的区别。 74 25、Set里的元素是不能重复的,那么用什么方法来区分重复与否呢? 是用==还是equals()? 它们有何区别? 75 26、HashMap与HashTable的区别 75...
1、JackSon使用Java类中的getxxx()方法定位生成的json对象的属性xxx和值(返回值),而不是字段; 2、可以通过在Java类getxxx()方法前添加注释@JsonIgnore来忽略该getxxx()方法生成的属性xxx; 3、常用的...
Jquery-Ajax各种获取方式 <body> <input id="getJsData" type="button" value="获取js值"/> <input id="getMessage" type="button" value="获取单个值"/> <input id="getUserInfo" type=...
List list = this.userService.getUserLists(map); this.initResult(model, list, map); return new ModelAndView("pagerList"); } catch (Exception e) { e.printStackTrace(); } return ...
选择器速度提升 选择器的速度大幅度提高了,下表为jQuery1.1.2和1.1.3的选择器速度对比,提高了8倍多 Browser jQuery 1.1.2 jQuery 1.1.3 % Improvement IE 6 4890ms 661ms 740% Firefox 2 5629ms 567...
{4.15}Map的迭代}{90}{section.4.15} {4.15.1}字符统计}{91}{subsection.4.15.1} {5}格式化输入输出}{94}{chapter.5} {5.1}时间与日期}{94}{section.5.1} {5.1.1}各类时间日期转换}{94}{subsection.5.1.1} {...
PrimeUI使用JSON数据,并使用jQuery UI的WidgetFactory API提供Widget控件,作为jQuery插件。其代码开源,采用Apache许可证。 PrimeUI最终发布的控件列表包括: - InputText - InputTextarea - SelectOneMenu - ...
06 Ajax功能之dataType和traditional 第58章 01 今日内容概要 02 Ajax补充之serialize 03 分页功能介绍 04 分页基础知识 05 Django内置分页 06 扩展Django内置分页 07 自定义分页组件 08 DjangoForm组件初识 第59...
首先 添加引用 Newtonsoft.Json.Net35.dll 其次 将themes个文件夹 放到css <script src="JS/jquery-1.4.1-vsdoc.js" type="text/javascript"></script> ...