package com.rf.common.handler; import java.lang.reflect.Method; import java.util.List; /** * Java To JSON String * @author ÃÖÀç¿ë * @version 1.0 */ public class JSONHandler { /** * µµ¸ÞÀÎ °´Ã¼¸¦ json stringÀ¸·Î º¯È¯ * @param obj * @return */ public static final String getJsonStringToObject(Object obj){ String str = getJsonStringToObjectTemp(obj); if(str.lastIndexOf(",")>-1)str = str.substring(0,str.lastIndexOf(",")); return str; } protected static String getJsonStringToObjectTemp(Object obj){ StringBuffer jsonSrc = new StringBuffer(); jsonSrc.append("{"); Method[] mArray = obj.getClass().getDeclaredMethods(); try{ for (int i = 0; i < mArray.length; i++) { if (mArray[i].getName().length() > 3) { if (mArray[i].getName().substring(0, 3).equals("get") && !mArray[i].getName().equals("getStatus")) { if(mArray[i].getReturnType().getName().indexOf("List")>-1){ List listObj = (List)mArray[i].invoke(obj, new Object[0]); if(listObj==null)jsonSrc.append("'"+mArray[i].getName()+"':[],"); else jsonSrc.append("'"+mArray[i].getName()+"':"+getJsonStringToList(listObj)+","); }else if(mArray[i].getReturnType().getName().equals("int")) { jsonSrc.append("'"+mArray[i].getName() + "':" + mArray[i].invoke(obj, new Object[0]) + ","); }else if (mArray[i].getReturnType().getName().equals("long")) { jsonSrc.append("'"+mArray[i].getName() + "':" + mArray[i].invoke(obj, new Object[0]) + ","); }else if (mArray[i].getReturnType().getName().equals("double")) { jsonSrc.append("'"+mArray[i].getName() + "':" + mArray[i].invoke(obj, new Object[0]) + ","); }else if (mArray[i].getReturnType().getName().equals("Decimal")) { jsonSrc.append("'"+mArray[i].getName() + "':" + mArray[i].invoke(obj, new Object[0]) + ","); }else if (mArray[i].getReturnType().getName().equals("String")) { jsonSrc.append("'"+mArray[i].getName() + "':" + mArray[i].invoke(obj, new Object[0]) + ","); }else { jsonSrc.append("'" + mArray[i].getName() + "':'"+ trim(mArray[i].invoke(obj, new Object[0])) + "',"); } } } } }catch(Exception e){ System.out.println(e.toString()); } jsonSrc.append("},"); String resStr = jsonSrc.toString().replaceAll(",}", "}"); resStr = resStr.replaceAll(",]", "]"); return resStr; } /** * ¸®½ºÆ®¸¦ json stringÀ¸·Î º¯È¯ * @param list * @return */ public static final String getJsonStringToList(List list){ StringBuffer jsonListSrc = new StringBuffer(); jsonListSrc.append("["); for(int i=0 ; i"); src = src.replaceAll("%", "%"); } } return src; } }