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 block e.printStackTrace(); } } return list; } }
Code:
原文链接:https://www.f2er.com/json/288794.html