`

JSON-lib框架

阅读更多

1、 首先要去官方下载json-lib工具包

下载地址:

http://sourceforge.net/projects/json-lib/files/json-lib/json-lib-2.4/

目前最新的是2.4的版本,本示例中使用的是v2.3;json-lib还需要以下依赖包:

jakarta commons-lang 2.5

jakarta commons-beanutils 1.8.0

jakarta commons-collections 3.2.1

jakarta commons-logging 1.1.1

ezmorph 1.0.6

官方网址:http://json-lib.sourceforge.net/

然后在工程中添加如下jar包:

 

当然你也可以用2.4的json-lib库

你可以在这里看看官方提供的示例:

http://json-lib.sourceforge.net/usage.html

由于本次介绍的示例需要junit工具,所以你还需要添加junit的jar文件,版本是4.8.2版本的,下载地址:https://github.com/KentBeck/junit/downloads

如果你还不了解JSON是什么?那么你应该可以看看http://www.json.org/json-zh.html

 

2、 将JavaList集合转换成JSON字符串

/**
 * <b>function:</b>转换Java List集合到JSON
 * @author hoojo
 * @createDate Nov 28, 2010 2:36:15 PM
 */
@Test
public void writeList2JSON() {
    fail("==============Java List >>> JSON Array==================");
    List<Student> stu = new ArrayList<Student>();
    stu.add(bean);
    bean.setName("jack");
    stu.add(bean);
    fail(JSONArray.fromObject(stu).toString());
    fail(JSONSerializer.toJSON(stu).toString());
}

 

运行此方法后,可以看到控制台输出:

==============Java List >>> JSON Array==================

 

如果你是转换List集合,一定得用JSONArray或是JSONSrializer提供的序列化方法。如果你用JSONObject.fromObject方法转换List会出现异常,通常使用JSONSrializer这个JSON序列化的方法,它会自动识别你传递的对象的类型,然后转换成相应的JSON字符串。

3、 将Map集合转换成JSON对象

/**
 * <b>function:</b>转Java Map对象到JSON
 * @author hoojo
 * @createDate Nov 28, 2010 2:37:35 PM
 */
@Test
public void writeMap2JSON() {
    Map<String, Object> map = new HashMap<String, Object>();
    map.put("A", bean);
    
    bean.setName("jack");
    map.put("B", bean);
    map.put("name", "json");
    map.put("bool", Boolean.TRUE);
    map.put("int", new Integer(1));
    map.put("arr", new String[] { "a", "b" });
    map.put("func", "function(i){ return this.arr[i]; }"); 
    fail("==============Java Map >>> JSON Object==================");
    fail(JSONObject.fromObject(map).toString());
    fail("==============Java Map >>> JSON Array ==================");
    fail(JSONArray.fromObject(map).toString());
    fail("==============Java Map >>> JSON Object==================");
    fail(JSONSerializer.toJSON(map).toString());
}

 

 

转载:

http://www.cnblogs.com/hoojo/archive/2011/04/21/2023805.html

 

 

 

4、json 数据转换为JSON  java对象 ,然后获得其中的数据。

String str = {"username":"me"}
JSONObject json = JSONObject.fromObject( str  );
json.getString("usename")
 

 

 

创建JSON对象返回到客户端

 

            JSONArray json = new JSONArray() ;
              json.add(0,"OK");
             json.add(1, new ArrayList());
            this.getResponse().setContentType("text/html;charset=UTF-8");
            this.getResponse().getWriter().println(json);
            this.getResponse().getWriter().flush();

 

 

5、java中的LIST对象转换为json对象然后返回到客户端

 

	     SysUser  user = new SysUser();
		 user.setUsername("sdfsjkd");
		 user.setCreatetime(new Date());

		 SysUser  user2 = new SysUser();
		 user2.setUsername("sdfsjkd");
		 user2.setCreatetime(new Date());
		 System.out.println( new Date() );
		 list.add( user);
		 list.add( user2);
		 
		 System.out.println(JSONArray.fromObject( list)  )  ;
		 PrintWriter print = this.getResponse().getWriter();
		 print.write( JSONArray.fromObject( list).toString() )  ;

 

 

 6 附件中是一个测试例子。

 

 7 Map 中含有list<实体> ,这样的数据,转化为json字符串后,解析

   先转化为Map  ,从map中拿出list对应的字符串,然后将list转为对应的 list<实体>数据 

   

  JSONObject map5 = JSONObject.fromObject(str  ) ; 
 List<实体> list5  = JSONArray.toList(JSONArray.fromObject(map5.get("list") ), 实体.class); 
 System.out.println( list5 );
 System.out.println( map5.get("result"));

 

  

 

分享到:
评论

相关推荐

    JSON-lib框架,转换JSON、XML不再困难

    JSON-lib框架,转换JSON、XML不再困难

    json-lib 技术指南

    json-lib 开发指南 技术指南 json json-lib框架,可以完成Java对象到JSON的相互转换,以及简单转换XML。

    JSON-lib框架,转换JSON、XML不再困难

    map.put("name", "json"); map.put("bool", Boolean.TRUE); map.put("int", new Integer(1)); map.put("arr", new String[] { "a", "b" }); map.put("func", "function(i){ return this.arr[i]; }"); fail("==...

    《JSON-lib框架,转换JSON、XML不再困难》学习笔记

    NULL 博文链接:https://xuxiheng.iteye.com/blog/2233699

    jackson-all.jar

    (2)相比json-lib框架,Jackson所依赖的jar包较少,只需下载:jackson-all-1.6.*.jar ~ jackson-all-1.8.0.jar 任何一个。 (3)转换效率:jackson &gt; Gson &gt; JSON-lib (4)简单易用并且性能也要相对高些。 (5)Jackson社区...

    java使用json-lib的依赖类库

    java使用json框架需要用到的json-lib类库及其依赖类库,一起打包了

    Jackson高性能的JSON处理.rar

    相比json-lib框架,Jackson所依赖的jar包较少,简单易用并且性能也要相对高些。而且Jackson社区相对比较活跃,更新速度也比较快。 一、准备工作 1、 下载依赖库jar包 Jackson的jar all下载地址:...

    使用Ajax或Easyui等框架时的Json-lib的处理方案

    无论是使用ajax还是使用easyui等框架,后台向前台输出数据时都涉及到json处理的问题,这里介绍两种处理方法,第一种是手动配置json的处理方法,另一种使用json-lib的处理方案。普通手动配置方法比较笨拙,每次需要...

    dooringx-lib 提供自己的一套数据流事件机制以及弹窗等解决方案,可以让你更快地自己定制开发可视化拖拽平台

    dooringx-lib 是 dooringx 的基座,是移除了 dooringx 插件的可视化拖拽框架。dooringx-lib 提供自己的一套数据流事件机制以及弹窗等解决方案,可以让你更快地自己定制开发可视化拖拽平台。dooringx-lib 在运行时...

    与struts2配套的JSON架包

    与struts2配套的JSON架包,经测试,与struts2框架时有效,将此压缩包解压,将其下的jar包放入web项目的lib目录下

    struts-2.5.20-min-lib.zip

    Struts2的开发包,一般下载该包能满足学习struts框架的基本需求

    使用Jackson框架解析Json示例

    jackson-annotations-2.0.0.jar jackson-core-2.0.0.jar jackson-databind-2.0.0.jar json-lib-2.4-jdk15.jar

    jackson-dataformat-xml-2.7.4.jar

    Jackson可以轻松的将Java对象转换成json对象和xml文档,同样也可以将json、xml转换成...相比json-lib框架,Jackson所依赖的jar包较少,简单易用并且性能也要相对高些。而且Jackson社区相对比较活跃,更新速度也比较快。

    jackson-dataformat-xml-2.1.2.jar

    jackson-dataformat-xml-2.1.2.jar Jackson可以轻松的将Java对象转换成json对象和xml...相比json-lib框架,Jackson所依赖的jar包较少,简单易用并且性能也要相对高些。而且Jackson社区相对比较活跃,更新速度也比较快。

    jettison-1.1(jar包及源码)

    Jackson可以轻松的将Java对象转换成json对象和xml文档,同样也可以将json、xml转换成...相比json-lib框架,Jackson所依赖的jar包较少,简单易用并且性能也要相对高些。而且Jackson社区相对比较活跃,更新速度也比较快。

Global site tag (gtag.js) - Google Analytics