Json-lib, 实现Java对象与JSON数据格式的互转

Json-lib 是什么?

官方解释是:JSON-lib is a java library for transforming beans, maps, collections, java arrays and XML to JSON and back again to beans and DynaBeans.

其实就是实现json 格式与java 类对象的互转。 在Java代码中可以很简单的解析json格式的数据。

什么状况下使用Json-lib?

Java代码中要解析JSON格式的字符串,

1. 比如通过Ajax获取的,或是从其他接口中过来的json 格式的字符串;

2. 想传递一串很复杂的字符串给Java代码处理(比如使用applet 读取文件里面的内容)。 当然这种方式你可以自己写规则去解析,频繁的使用split,而且要处理好特殊字符。估计得头大。

怎么开始使用Json-lib?

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

需要准备的jar包

1. json-lib-2.4-jdk15.jar        目前最新版, 下载地址  http://sourceforge.net/projects/json-lib/files/

2. HttpClient            用来提供高效的、最新的、功能丰富的支持 HTTP 协议的客户端编程工具包 。 下载地址 http://hc.apache.org/downloads.cgi

3. commons Lang   这一组API是提供一些基础的、通用的操作和处理,如自动生成toString()的结果 。 下载地址  http://commons.apache.org/lang/download_lang.cgi

4. Commons Logging   Apache通用日志工具 http://commons.apache.org/logging/download_logging.cgi

5. Commons Collections  为Java标准的Collections API提供了相当好的补充   下载地址 http://commons.apache.org/collections/download_collections.cgi

6. Commons BeanUtils  利用反射机制对JavaBean的属性进行处理 下载地址 http://commons.apache.org/beanutils/download_beanutils.cgi

7. EZMorph  是一个简单的java类库用于将一种对象转换成另外一种对象 下载地址 http://sourceforge.net/projects/ezmorph/files/


实例展示

java Object ==> json

1. java Array ==>json string

		String[] strArry = new String[]{"oscar1","oscar2","oscar3"};
		JSONArray jsArray = JSONArray.fromObject(strArry);
		String sJSONStr1 = jsArray.toString();
		System.out.println(sJSONStr1);
==>["oscar1","oscar2","oscar3"]

2.  java List ==> json string

		List<String> list = new ArrayList<String>();
		list.add("id");
		list.add("name");
		JSONArray jsArray = JSONArray.fromObject(list);
		String sJSONStr =  jsArray.toString();
		System.out.println(sJSONStr);

==> ["id","name"]


3. Java Map ==> json string

		Map<String,Object> map = new HashMap<String,Object>();
		map.put("id", 1);
		map.put("name", "Oscar");
		JSONObject json = JSONObject.fromObject(map);
		String sJSONStr1 =  json.toString();
		System.out.println(sJSONStr1);
==> {"id":1,"name":"Oscar"}


4. use JSONObject and JSONarray ==> json string

		JSONObject jsobj = new JSONObject();
		jsobj.put("id", 1);
		jsobj.put("name", "oscar");
		
		JSONArray jsArray = new JSONArray();
		JSONObject jsobj2 = new JSONObject();
		jsobj2.put("day1", "65");
		jsobj2.put("day2", "66");
		jsArray.add(jsobj2);
		
		jsobj.element("weight", jsArray);
		String sJSONStr = jsobj.toString();
		System.out.println(sJSONStr);

{"id":1,"name":"oscar","weight":[{"day1":"65","day2":"66"}]}




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

oscar999

送以玫瑰,手留余香

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值