import java.lang.reflect.Array; import java.util.ArrayList; import java.util.HashMap; import java.util.Iterator; import java.util.List; import java.util.Map; import java.util.Set; public class FodderUtil { public static void main(String[] args) { List<Map<String,Object>> target = new ArrayList<Map<String,Object>>(); for (int i = 0; i < 10; i++) { Map<String,Object> map = new HashMap<String,Object>(); map.put("id", i); map.put("name", "China"); map.put("age", 18); map.put("hobby", new String[]{"Boll","Flower","Paint"}); target.add(map); } System.out.println(toJson(target)); } public static String toJson(Object object){ StringBuffer json = new StringBuffer(); if(object instanceof Integer){ json.append(baseToString(object)); }else if(object instanceof String){ json.append(baseToString(object)); }else if(object instanceof Long){ json.append(baseToString(object)); }else if(object instanceof Float){ json.append(baseToString(object)); }else if(object instanceof Double){ json.append(baseToString(object)); }else if(object instanceof Boolean){ json.append(baseToString(object)); }else if(object instanceof List){ object = listToString(object); json.append(object); }else if(object instanceof Array){ }else if(object instanceof Map){ object = mapToString(object); json.append(object); }else if(object instanceof int[]){ object = intArrayToString(object); json.append(object); }else if(object instanceof Integer[]){ object = objArrayToString(object); json.append(object); }else if(object instanceof Float[]){ object = objArrayToString(object); json.append(object); }else if(object instanceof float[]){ object = floatArrayToString(object); json.append(object); }else if(object instanceof double[]){ object = doubleArrayToString(object); json.append(object); }else if(object instanceof String[]){ object = objArrayToString(object); json.append(object); }else if(object instanceof Double[]){ object = objArrayToString(object); json.append(object); }else if(object instanceof long[]){ object = longArrayToString(object); json.append(object); }else if(object instanceof Long[]){ object = objArrayToString(object); json.append(object); }else if(object instanceof Object[]){ object = objArrayToString(object); json.append(object); } return json.toString(); } public static String baseToString(Object object){ if(object == null){ return ""; } if(object instanceof String){ return "\""+object+"\""; } return object.toString(); } public static String intArrayToString(Object object){ if(object == null){ return ""; } int[] array = (int[])object; StringBuffer json = new StringBuffer(); json.append("["); int cursor = 0; for (int i : array) { json.append(i); cursor++; if(cursor != array.length){ json.append(","); } } json.append("]"); return json.toString(); } public static String floatArrayToString(Object object){ if(object == null){ return ""; } float[] array = (float[])object; StringBuffer json = new StringBuffer(); json.append("["); int cursor = 0; for (float i : array) { json.append(i); cursor++; if(cursor != array.length){ json.append(","); } } json.append("]"); return json.toString(); } public static String doubleArrayToString(Object object){ if(object == null){ return ""; } double[] array = (double[])object; StringBuffer json = new StringBuffer(); json.append("["); int cursor = 0; for (double i : array) { json.append(i); cursor++; if(cursor != array.length){ json.append(","); } } json.append("]"); return json.toString(); } public static String longArrayToString(Object object){ if(object == null){ return ""; } long[] array = (long[])object; StringBuffer json = new StringBuffer(); json.append("["); int cursor = 0; for (long i : array) { json.append(i); cursor++; if(cursor != array.length){ json.append(","); } } json.append("]"); return json.toString(); } public static String objArrayToString(Object object){ if(object == null){ return ""; } Object[] array = (Object[])object; StringBuffer json = new StringBuffer(); json.append("["); int cursor = 0; for (Object object2 : array) { json.append(toJson(object2)); cursor++; if(cursor != array.length){ json.append(","); } } json.append("]"); return json.toString(); } public static String mapToString(Object object){ if(object == null){ return ""; } Map<?,?> target = (Map<?,?>)object; Set<?> keys = target.keySet(); Iterator<?> iter = keys.iterator(); StringBuffer json = new StringBuffer(); json.append("{"); int cursor = 0; while(iter.hasNext()){ Object key = iter.next(); Object val = target.get(key); json.append("\""+key+"\""); json.append(":"); json.append(toJson(val)); cursor++; if(cursor != target.size()){ json.append(","); } } json.append("}"); return json.toString(); } public static String listToString(Object object){ if(object == null){ return ""; } List<?> target = (List<?>)object; StringBuffer json = new StringBuffer(); json.append("["); int cursor = 0; for(Object object2 : target){ json.append(toJson(object2)); cursor++; if(cursor != target.size()){ json.append(","); } } json.append("]"); return json.toString(); } }