您的位置:首页 > Web前端 > JavaScript

Json转换工具类JsonUtil

2016-02-16 08:58 477 查看
1. maven依赖包下载

Xml代码  


<!--json-lib-->      

<dependency>      

    <groupId>net.sf.json-lib</groupId>      

    <artifactId>json-lib</artifactId>      

    <version>2.4</version>      

    <classifier>jdk15</classifier>      

</dependency>   

 

2. JsonUtil.java

Java代码  


import java.util.ArrayList;  

import java.util.HashMap;  

import java.util.List;  

import java.util.Map;  

import java.util.Set;  

import net.sf.json.JSONArray;  

import net.sf.json.JSONObject;  

  

/** 

 * JSON转换工具类 

 *  

 * @author penghuaiyi 

 * @date 2014-04-04 

 */  

public class JsonUtil {  

  

    /** 

     * 对象转换成JSON字符串 

     *  

     * @param obj 

     *            需要转换的对象 

     * @return 对象的string字符 

     */  

    public static String toJson(Object obj) {  

        JSONObject jSONObject = JSONObject.fromObject(obj);  

        return jSONObject.toString();  

    }  

  

    /** 

     * JSON字符串转换成对象 

     *  

     * @param jsonString 

     *            需要转换的字符串 

     * @param type 

     *            需要转换的对象类型 

     * @return 对象 

     */  

    @SuppressWarnings("unchecked")  

    public static <T> T fromJson(String jsonString, Class<T> type) {  

        JSONObject jsonObject = JSONObject.fromObject(jsonString);  

        return (T) JSONObject.toBean(jsonObject, type);  

    }  

  

    /** 

     * 将JSONArray对象转换成list集合 

     *  

     * @param jsonArr 

     * @return 

     */  

    public static List<Object> jsonToList(JSONArray jsonArr) {  

        List<Object> list = new ArrayList<Object>();  

        for (Object obj : jsonArr) {  

            if (obj instanceof JSONArray) {  

                list.add(jsonToList((JSONArray) obj));  

            } else if (obj instanceof JSONObject) {  

                list.add(jsonToMap((JSONObject) obj));  

            } else {  

                list.add(obj);  

            }  

        }  

        return list;  

    }  

  

    /** 

     * 将json字符串转换成map对象 

     *  

     * @param json 

     * @return 

     */  

    public static Map<String, Object> jsonToMap(String json) {  

        JSONObject obj = JSONObject.fromObject(json);  

        return jsonToMap(obj);  

    }  

  

    /** 

     * 将JSONObject转换成map对象 

     *  

     * @param json 

     * @return 

     */  

    public static Map<String, Object> jsonToMap(JSONObject obj) {  

        Set<?> set = obj.keySet();  

        Map<String, Object> map = new HashMap<String, Object>(set.size());  

        for (Object key : obj.keySet()) {  

            Object value = obj.get(key);  

            if (value instanceof JSONArray) {  

                map.put(key.toString(), jsonToList((JSONArray) value));  

            } else if (value instanceof JSONObject) {  

                map.put(key.toString(), jsonToMap((JSONObject) value));  

            } else {  

                map.put(key.toString(), obj.get(key));  

            }  

  

        }  

        return map;  

    }  

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