json对象(json-lib)转换成list-map集合

来源:互联网 发布:淘宝手机详情页文字 编辑:程序博客网 时间:2024/06/06 08:42
虽然json-lib提供toBean方法,但是赶脚蛋疼,所以写了个转换,不需要配置类,直接转换成list-map(忽略了除JSONObject和JSONArray意外的处理,不过好像也没什么了);闲来蛋疼,分享分享代码。 


代码片段(1)[全屏查看所有代码]

1. [代码]JSONHelper.java     

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
//JSONHelper.java
importjava.util.ArrayList;
importjava.util.HashMap;
importjava.util.List;
importjava.util.Set;
 
importnet.sf.json.JSONArray;
importnet.sf.json.JSONObject;
 
publicclass JSONHelper {
 
    /**
     * 将JSONObjec对象转换成Map-List集合
     * @see JSONHelper#reflect(JSONArray)
     * @param json
     * @return
     */
    publicstatic HashMap<String, Object> reflect(JSONObject json){
        HashMap<String, Object> map = newHashMap<String, Object>();
        Set<?> keys = json.keySet();
        for(Object key : keys){
            Object o = json.get(key);
            if(oinstanceofJSONArray)
                map.put((String) key, reflect((JSONArray) o));
            elseif(oinstanceofJSONObject)
                map.put((String) key, reflect((JSONObject) o));
            else
                map.put((String) key, o);
        }
        returnmap;
    }
 
    /**
     * 将JSONArray对象转换成Map-List集合
     * @see JSONHelper#reflect(JSONObject)
     * @param json
     * @return
     */
    publicstatic Object reflect(JSONArray json){
        List<Object> list = newArrayList<Object>();
        for(Object o : json){
            if(oinstanceofJSONArray)
                list.add(reflect((JSONArray) o));
            elseif(oinstanceofJSONObject)
                list.add(reflect((JSONObject) o));
            else
                list.add(o);
        }
        returnlist;
    }
}
举报
0 0
原创粉丝点击