您的位置:首页 > 编程语言 > Java开发

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

2014-06-16 14:46 696 查看
http://blog.csdn.net/oscar999/article/details/7401480



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

[java] view
plaincopy

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

[java] view
plaincopy

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

[java] view
plaincopy

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

[java] view
plaincopy

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"}]}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: