利用反射实现,其中java 类中 有序列号等字段,可以根据字段名进行判断 进行筛选if(field.getType() == 不需要序列化字段的类型.class||field.getName()==不需要序列化的字段)
public String Object2JsonStr(Object obj) throws IllegalArgumentException, IllegalAccessException{
if(obj==null){
return "null";
}
String jsonStr = "{";
Class<?> cla = obj.getClass();
Field fields[] = cla.getDeclaredFields();
for (Field field : fields) {
field.setAccessible(true);
if(field.getType() == long.class){
jsonStr += "\""+field.getName()+"\":"+field.getLong(obj)+",";
}else if(field.getType() == double.class){
jsonStr += "\""+field.getName()+"\":"+field.getDouble(obj)+",";
}else if(field.getType() == float.class){
jsonStr += "\""+field.getName()+"\":"+field.getFloat(obj)+",";
}else if(field.getType() == int.class){
jsonStr += "\""+field.getName()+"\":"+field.getInt(obj)+",";
}else if(field.getType() == boolean.class){
jsonStr += "\""+field.getName()+"\":"+field.getBoolean(obj)+",";
}else if(field.getType() == Integer.class||field.getType() == Boolean.class
||field.getType() == Double.class||field.getType() == Float.class
||field.getType() == Long.class){
jsonStr += "\""+field.getName()+"\":"+field.get(obj)+",";
}else if(field.getType() == String.class){
jsonStr += "\""+field.getName()+"\":\""+field.get(obj)+"\",";
}
}
jsonStr = jsonStr.substring(0,jsonStr.length()-1);
jsonStr += "}";
return jsonStr;
}