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

来源:互联网 发布:中国古代天文 知乎 编辑:程序博客网 时间:2024/05/17 06:54

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"}]}




原创粉丝点击