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:
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。