map to bean 映射

private ScheduleBean setJsonToBean(JSONObject objmap, ScheduleBean scheduleBean){
    java.lang.reflect.Field[]fs = scheduleBean.getClass().getDeclaredFields();
    java.lang.reflect.Method[]ms = scheduleBean.getClass().getDeclaredMethods();
    String fieldName = "";
    String methodName = "";
    Object[] keySet = objmap.keySet().toArray();
  Object value = null;
  for (Object key : keySet) {
  value = objmap.get(key.toString());
  for (Field f : fs) {
  fieldName = f.getName();
  if(fieldName.equals(key.toString())){
  for (Method m : ms) {
  methodName = m.getName();
  if(null != methodName && methodName.startsWith("set")
  && (methodName.substring(3).toLowerCase().equals(fieldName.toLowerCase()) ||
  methodName.substring(3).toLowerCase().equals(fieldName.substring(2).toLowerCase()))) {
  if(value instanceof Long){
  for (Method m2 : ms) {
    methodName = m2.getName();
    if(null != methodName && methodName.startsWith("get")
    && methodName.substring(3).toLowerCase().equals(fieldName.toLowerCase())) {
    if(m2.getReturnType().getName().equals("int")){
    value = Integer.valueOf(value.toString());
    }else if(m2.getReturnType().getName().equals("short")){
    value = Short.valueOf(value.toString());
    }
    break;
    }
  }
  }
  Object[] inArgs = new Object[1];
  inArgs[0] = value;
  try {
  m.invoke(scheduleBean, inArgs);
  } catch (IllegalArgumentException e) {
  e.printStackTrace();
  } catch (IllegalAccessException e) {
  e.printStackTrace();
  } catch (InvocationTargetException e) {
  e.printStackTrace();
  }
  break;
  }
  }
  }
  }
  }
  return scheduleBean;
    }

你可能感兴趣的:(bean,F#)