枚举类转换json

/**
 * 把枚举对象转成json对象
 * @param enumArr
 * @return
 */
@SuppressWarnings({ "unchecked", "rawtypes" })
public static JSONArray enumToJson(Object[] enumArr) {
   JSONArray jsonArr = new JSONArray();
   for (Object e : enumArr) {
      Class clasz = e.getClass();
      JSONObject json = new JSONObject();
      Field[] fieldArr = clasz.getDeclaredFields();
      for (int i = 0; i < fieldArr.length; i++) {
         String filedName = fieldArr[i].getName();
         if (filedName.startsWith("ENUM")) {
            continue;
         }
         try {
            String methodName = "get" + filedName.substring(0, 1).toUpperCase() + filedName.substring(1);
            Method m = clasz.getMethod(methodName);
            Object value = m.invoke(e);
            json.put(filedName, value);
         } catch (Exception ex) {
            continue;
         }
      }
      jsonArr.add(json);
   }
   return jsonArr;
}

你可能感兴趣的:(枚举类转换json)