Object To Json

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();
	}
}


你可能感兴趣的:(Object To Json)