`

net.sf.json

阅读更多


1./**   
2.     * 从一个JSON 对象字符格式中得到一个java对象,形如:   
3.     * {"id" : idValue, "name" : nameValue, "aBean" : {"aBeanId" : aBeanIdValue, ...}}   
4.     * @param object   
5.     * @param clazz   
6.     * @return   
7.     */   
8.    public static Object getDTO(String jsonString, Class clazz){    
9.        JSONObject jsonObject = null;    
10.        try{    
11.            setDataFormat2JAVA();     
12.            jsonObject = JSONObject.fromObject(jsonString);    
13.        }catch(Exception e){    
14.            e.printStackTrace();    
15.        }    
16.        return JSONObject.toBean(jsonObject, clazz);    
17.    }    
18.        
19.    /**   
20.     * 从一个JSON 对象字符格式中得到一个java对象,其中beansList是一类的集合,形如:   
21.     * {"id" : idValue, "name" : nameValue, "aBean" : {"aBeanId" : aBeanIdValue, ...},   
22.     * beansList:[{}, {}, ...]}   
23.     * @param jsonString   
24.     * @param clazz   
25.     * @param map 集合属性的类型 (key : 集合属性名, value : 集合属性类型class) eg: ("beansList" : Bean.class)   
26.     * @return   
27.     */   
28.    public static Object getDTO(String jsonString, Class clazz, Map map){    
29.        JSONObject jsonObject = null;    
30.        try{    
31.            setDataFormat2JAVA();     
32.            jsonObject = JSONObject.fromObject(jsonString);    
33.        }catch(Exception e){    
34.            e.printStackTrace();    
35.        }    
36.        return JSONObject.toBean(jsonObject, clazz, map);    
37.    }    
38.        
39.    /**   
40.     * 从一个JSON数组得到一个java对象数组,形如:   
41.     * [{"id" : idValue, "name" : nameValue}, {"id" : idValue, "name" : nameValue}, ...]   
42.     * @param object   
43.     * @param clazz   
44.     * @return   
45.     */   
46.    public static Object[] getDTOArray(String jsonString, Class clazz){    
47.        setDataFormat2JAVA();    
48.        JSONArray array = JSONArray.fromObject(jsonString);    
49.        Object[] obj = new Object[array.size()];    
50.        for(int i = 0; i < array.size(); i++){    
51.            JSONObject jsonObject = array.getJSONObject(i);    
52.            obj[i] = JSONObject.toBean(jsonObject, clazz);    
53.        }    
54.        return obj;    
55.    }    
56.        
57.    /**   
58.     * 从一个JSON数组得到一个java对象数组,形如:   
59.     * [{"id" : idValue, "name" : nameValue}, {"id" : idValue, "name" : nameValue}, ...]   
60.     * @param object   
61.     * @param clazz   
62.     * @param map   
63.     * @return   
64.     */   
65.    public static Object[] getDTOArray(String jsonString, Class clazz, Map map){    
66.        setDataFormat2JAVA();    
67.        JSONArray array = JSONArray.fromObject(jsonString);    
68.        Object[] obj = new Object[array.size()];    
69.        for(int i = 0; i < array.size(); i++){    
70.            JSONObject jsonObject = array.getJSONObject(i);    
71.            obj[i] = JSONObject.toBean(jsonObject, clazz, map);    
72.        }    
73.        return obj;    
74.    }    
75.        
76.    /**   
77.     * 从一个JSON数组得到一个java对象集合   
78.     * @param object   
79.     * @param clazz   
80.     * @return   
81.     */   
82.    public static List getDTOList(String jsonString, Class clazz){    
83.        setDataFormat2JAVA();    
84.        JSONArray array = JSONArray.fromObject(jsonString);    
85.        List list = new ArrayList();    
86.        for(Iterator iter = array.iterator(); iter.hasNext();){    
87.            JSONObject jsonObject = (JSONObject)iter.next();    
88.            list.add(JSONObject.toBean(jsonObject, clazz));    
89.        }    
90.        return list;    
91.    }    
92.        
93.    /**   
94.     * 从一个JSON数组得到一个java对象集合,其中对象中包含有集合属性   
95.     * @param object   
96.     * @param clazz   
97.     * @param map 集合属性的类型   
98.     * @return   
99.     */   
100.    public static List getDTOList(String jsonString, Class clazz, Map map){    
101.        setDataFormat2JAVA();    
102.        JSONArray array = JSONArray.fromObject(jsonString);    
103.        List list = new ArrayList();    
104.        for(Iterator iter = array.iterator(); iter.hasNext();){    
105.            JSONObject jsonObject = (JSONObject)iter.next();    
106.            list.add(JSONObject.toBean(jsonObject, clazz, map));    
107.        }    
108.        return list;    
109.    }    
110.        
111.    /**   
112.     * 从json HASH表达式中获取一个map,该map支持嵌套功能   
113.     * 形如:{"id" : "johncon", "name" : "小强"}   
114.     * 注意commons-collections版本,必须包含org.apache.commons.collections.map.MultiKeyMap   
115.     * @param object   
116.     * @return   
117.     */   
118.    public static Map getMapFromJson(String jsonString) {    
119.        setDataFormat2JAVA();    
120.        JSONObject jsonObject = JSONObject.fromObject(jsonString);    
121.        Map map = new HashMap();    
122.        for(Iterator iter = jsonObject.keys(); iter.hasNext();){    
123.            String key = (String)iter.next();    
124.            map.put(key, jsonObject.get(key));    
125.        }    
126.        return map;    
127.    }    
128.        
129.    /**   
130.     * 从json数组中得到相应java数组   
131.     * json形如:["123", "456"]   
132.     * @param jsonString   
133.     * @return   
134.     */   
135.    public static Object[] getObjectArrayFromJson(String jsonString) {    
136.        JSONArray jsonArray = JSONArray.fromObject(jsonString);    
137.        return jsonArray.toArray();    
138.    }    
139.   
140.   
141.    /**   
142.     * 把数据对象转换成json字符串   
143.     * DTO对象形如:{"id" : idValue, "name" : nameValue, ...}   
144.     * 数组对象形如:[{}, {}, {}, ...]   
145.     * map对象形如:{key1 : {"id" : idValue, "name" : nameValue, ...}, key2 : {}, ...}   
146.     * @param object   
147.     * @return   
148.     */   
149.    public static String getJSONString(Object object) throws Exception{    
150.        String jsonString = null;    
151.        //日期值处理器    
152.        JsonConfig jsonConfig = new JsonConfig();    
153.        jsonConfig.registerJsonValueProcessor(java.util.Date.class, new JsonDateValueProcessor());    
154.        if(object != null){    
155.            if(object instanceof Collection || object instanceof Object[]){    
156.                jsonString = JSONArray.fromObject(object, jsonConfig).toString();    
157.            }else{    
158.                jsonString = JSONObject.fromObject(object, jsonConfig).toString();    
159.            }    
160.        }    
161.        return jsonString == null ? "{}" : jsonString;    
162.    }   

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/madun/archive/2010/08/02/5782882.aspx

需要jar包:ezmorph-1.0.6.jar,json-lib-2.3.jar

创建java对象:

public class Address {
 private String road;
 private String streate;
 private String provience;
 private String no;
 public String getRoad() {
  return road;
 }
 public void setRoad(String road) {
  this.road = road;
 }
 public String getStreate() {
  return streate;
 }
 public void setStreate(String streate) {
  this.streate = streate;
 }
 public String getProvience() {
  return provience;
 }
 public void setProvience(String provience) {
  this.provience = provience;
 }
 public String getNo() {
  return no;
 }
 public void setNo(String no) {
  this.no = no;
 }
}

1.将json对象转化为java对象

 JSONObject jsonObject = JSONObject.fromObject("{\"no\":\"104\",\"provience\":\"陕西\",\"road\":\"高新路\",\"streate\":\"\"}");
  Address Address  = (Address) JSONObject.toBean(jsonObject,Address.class);
  log.info(Address.getNo());
  log.info(Address.getStreate());
  log.info(Address.getProvience());
  log.info(Address.getRoad());

 

2.将java对象转化为json对象

   将java对象转化为json对象:

    Address address = new Address();
    address.setNo("104");
    address.setProvience("陕西");
    address.setRoad("高新路");
    address.setStreate("");
    JSONArray json = JSONArray.fromObject(address);
    log.info(json.toString());

 

  将java对象list转化为json对象: 

  Address address = new Address();
  address.setNo("104");
  address.setProvience("陕西");
  address.setRoad("高新路");
  address.setStreate("");
  Address address2 = new Address();
  address2.setNo("105");
  address2.setProvience("陕西");
  address2.setRoad("未央路");
  address2.setStreate("张办");
  List list = new ArrayList();
  list.add(address);
  list.add(address2);
  JSONArray json = JSONArray.fromObject(list);
  log.info(json.toString());

3.JSONArray转化为list

JSONObject jsonObject = JSONObject.fromObject("{\"no\":\"104\",\"provience\":\"陕西\",\"road\":\"高新路\",\"streate\":\"\"}");
  JSONArray jsonArray = new JSONArray();
  jsonArray.add("{\"no\":\"104\",\"provience\":\"陕西\",\"road\":\"高新路\",\"streate\":\"\"}");
  jsonArray.add("{\"no\":\"104\",\"provience\":\"陕西\",\"road\":\"高新路\",\"streate\":\"123\"}");
  Object object = JSONArray.toList(jsonArray,Address.class);




分享到:
评论
1 楼 李庆辉 2012-02-14  
感谢了!!拿走呵呵

相关推荐

    JSON net.sf.json jar包

    `net.sf.json`是开源项目Apache软件基金会下的一个Java库,它提供了对JSON的支持,包括将Java对象转换为JSON格式以及将JSON字符串反序列化回Java对象的功能。 `net.sf.json`库主要包含以下功能点: 1. **JSON与...

    json net.sf.json

    `net.sf.json`是开源Java库,它提供了一套API来处理JSON对象,包括JSON到Java对象的映射以及Java对象到JSON的序列化。 在Java开发中,`net.sf.json`库通常用于处理JSON相关的操作,比如将Java对象转换为JSON字符串...

    net.sf.json.JSONObject依赖jar

    标题中的"net.sf.json.JSONObject依赖jar"指的是为了在Java项目中使用net.sf.json.JSONObject类,你需要引入特定的jar依赖包。这个包包含了所有必要的类和方法,使得你可以方便地处理JSON数据。一旦将这个依赖包导入...

    net.sf.json.JSONObject依赖库.zip

    在Java开发中,`net.sf.json.JSONObject`是一个广泛使用的JSON处理库,特别是在Maven仓库中无法直接找到的情况下,开发者可能需要手动引入这个依赖库。`net.sf.json`库提供了对JSON(JavaScript Object Notation)...

    Java中使用Json的net.sf.json包

    为了在Java中处理JSON数据,开发者通常会使用特定的库,如`net.sf.json`包,这是一个非常实用的JSON库,提供了丰富的功能来创建、解析和操作JSON对象。 `net.sf.json`库主要包含了两个核心类:`JSONObject`和`...

    net.sf.json.JSONObject Jar包下载

    "net.sf.json.JSONObject"是开源项目json-lib中的一个核心类,它提供了用于处理JSON对象的功能。这个Jar包是为Java开发者提供的一种便捷的方式来在Java对象与JSON数据之间进行转换。 JSONObject是net.sf.json库中的...

    net.sf.json依赖包

    `net.sf.json` 是一个广泛使用的开源JSON库,主要用于Java应用程序中处理JSON(JavaScript Object Notation)数据。JSON是一种轻量级的数据交换格式,它使得人和机器都能容易地读写数据,通常用于Web服务和客户端...

    net.sf.json.JsonObject需要的jar包

    在Java开发中,`net.sf.json.JSONObject` 是一个常用的JSON对象模型类,它来自于开源项目json-lib。这个库提供了一种方便的方式来处理JSON(JavaScript Object Notation)数据格式,允许我们在Java应用程序中创建、...

    net.sf.json2.4

    标题“net.sf.json2.4”指的是一个特定版本的JSON库,它是在Java环境中处理JSON数据的一个工具包。这个库的主要功能是帮助开发者在Java应用程序中生成和解析JSON(JavaScript Object Notation)字符串,这是一种轻量...

    JSON(net.sf.json.JSONArray)需要的jar包

    在标题中提到的"JSON(net.sf.json.JSONArray)需要的jar包",是指为了在Java项目中使用`net.sf.json.JSONArray`以及相关的JSON类,你需要引入特定的jar包。`net.sf.json.JSONArray`是开源项目Apache licensed Json-...

    com.alibaba.fastjson.JSON , net.sf.json.JSONObject

    在Java开发中,处理JSON数据时通常会用到一些库,如`com.alibaba.fastjson.JSON` 和 `net.sf.json.JSONObject`。这两个库分别是阿里巴巴的Fastjson和Eclipse的Json-lib。 首先,我们来详细了解一下`...

    net.sf.json需要的jar

    标题中的"net.sf.json需要的jar"指的是在Java开发中使用net.sf.json库时所需的依赖JAR文件。net.sf.json是开源项目,它提供了一系列的API来处理JSON(JavaScript Object Notation)数据格式,便于Java应用程序与JSON...

    net.sf.json.JSONObject相关jar包.zip

    标题 "net.sf.json.JSONObject相关jar包.zip" 指的是一个包含了与net.sf.json.JSONObject类库相关的Java档案(JAR)文件的压缩包。这个类库是开源项目JSON.org的一部分,用于在Java应用程序中处理JSON(JavaScript ...

    net.sf.json.JSONObject 依赖的包

    `net.sf.json.JSONObject` 是一个广泛使用的开源JSON库,它为Java开发者提供了处理JSON对象的能力。这个库在很多项目中被用作与JSON数据交互的工具,尤其在那些不使用现代Java版本(如Java 8及以上)或者不依赖更...

    net.sf.json.JSONObject所需的jar包

    在Java中,`net.sf.json.JSONObject`库提供了一个方便的工具,帮助我们实现这个转换。 `net.sf.json.JSONObject`是开源项目json-lib的一部分,这是一个Java语言编写的JSON处理库。这个库不仅支持将Java对象转换为...

    net.sf.json.JSONObject对象使用指南

    ### net.sf.json.JSONObject对象使用指南 #### 简介与背景 随着互联网技术的发展,JSON(JavaScript Object Notation)作为一种轻量级的数据交换格式,在现代软件开发中的应用越来越广泛。其简洁性和易读性使其成为...

    net.sf.json.JSONObject需要引用几个JAR包

    在Java开发中,`net.sf.json.JSONObject` 是一个常用的JSON对象模型类库,它属于`json-lib`项目的一部分。这个类库允许开发者在Java中处理JSON数据,进行序列化和反序列化操作。然而,为了能够正确使用`JSONObject`...

    net.sf.json.JSONObject实现Object对象与Json字符串的互转

    `net.sf.json.JSONObject`是开源库Apache Commons Lang中的一个类,它提供了解决Java对象与JSON字符串之间转换的功能。这篇博客文章"net.sf.json.JSONObject实现Object对象与Json字符串的互转"深入探讨了如何使用`...

    net.sf.json 及相关jar包

    2. **XML与JSON互转**:除了基本的Java对象和JSON的转换,`net.sf.json`还支持XML到JSON以及JSON到XML的转换,使得不同格式的数据交换变得便捷。 3. **JSON格式处理**:库中提供了丰富的API来处理JSON,例如解析...

Global site tag (gtag.js) - Google Analytics