JSONFormatter(JSONObject转成Map, JSONArray转成List, 中间递归调用类)

来源:互联网 发布:js中confirm的用法 编辑:程序博客网 时间:2024/06/04 00:37
Tips:
JSONFormatter,定义一个toMap方法(将JSONObject转换为Map),一个toList方法(将JSONArray转化为List)。相互之间通过递归调用,实现最终SONObject 和 JSONArray的最终转化

Code:
package com.cisco.cmse.du.util;import java.util.ArrayList;import java.util.HashMap;import java.util.Iterator;import java.util.List;import java.util.Map;import org.codehaus.jettison.json.JSONArray;import org.codehaus.jettison.json.JSONException;import org.codehaus.jettison.json.JSONObject;public final class JSONFormatter {    /**     * JSONObject转为map     * @param object json对象     * @return 转化后的Map     */    public static Map<String, Object> toMap(JSONObject object){        Map<String, Object> map = new HashMap<String, Object>();        for (Iterator<?> it = object.keys(); it.hasNext();) {        String key = (String)it.next();            Object value;try {value = object.get(key);if(value instanceof JSONArray) {                value = toList((JSONArray) value);            }            else if(value instanceof JSONObject) {                value = toMap((JSONObject) value);            }            map.put(key, value);} catch (JSONException e) {e.printStackTrace();}                    }        return map;    }    /**     * JSONArray转为List     * @param array json数组     * @return 转化后的List     */    public static List<Object> toList(JSONArray array){        List<Object> list = new ArrayList<Object>();        for(int i = 0; i < array.length(); i++) {            Object value;try {value = array.get(i);if(value instanceof JSONArray) {                value = toList((JSONArray) value);            }            else if(value instanceof JSONObject) {                value = toMap((JSONObject) value);            }            list.add(value);} catch (JSONException e) {// TODO Auto-generated catch blocke.printStackTrace();}                    }        return list;    }}





Code:
原创粉丝点击