json对象解析成javaBean对象
/**
* json对象转换成Bean对象
* @param jso json对象
* @param clazz 需要转成的bean的.class对象
* @param <T> 转化成的bean类型
* @return 转化成的bean
* @throws Exception
*/
public static <T> T parseJsonToJavaBean(JSONObject jso, Class<T> clazz)
throws Exception {
T t = clazz.newInstance();
Field[] fs = clazz.getDeclaredFields();
for (Field field : fs) {
String fieldName = field.getName();
//_id根据自定义的bean做相应修改
if ("_id".equals(fieldName)) {
continue;
}
Method m = clazz.getDeclaredMethod(
"set" + Tools.toUpperCaseFirstOne(fieldName),
field.getType());
Object arg = jso.opt(fieldName);
if (m != null && m.getName() != null && arg != null) {
if (!arg.toString().equals("null") && !arg.toString().equals("")) {
if (field.getType().getName().equals("int")) {
m.invoke(t, Integer.valueOf(arg.toString().trim()));
} else if (field.getType().getName().equals("long")) {
m.invoke(t, Long.valueOf(arg.toString().trim()));
} else if (field.getType().getName().equals("short")) {
m.invoke(t, Short.valueOf(arg.toString().trim()));
} else {
m.invoke(t, arg);
}
}
}
}
return t;
}
点击跳转上面的方法 Tool.toUpperCaseFirstOne(fieldName)