@Override
	public void pre_serialize() {
		Class<T> t = (Class<T>) this.getClass();
		Field[] fields = t.getFields();
		for( int i = 0; i < fields.length; i++) {
			Field f = fields[i];
			String name = f.getName();
			if( name.indexOf("_json_") == 0) {
				continue;
			}
			Type type = f.getType();
			try {
				if( type.equals(int.class)) {
					put(name,""+f.getInt(this));
				} else if( type.equals(Double.class)) {
					put(name,""+f.getDouble(this));
				} else if( type.equals(Float.class)) {
					put(name,""+f.getFloat(this));
				} else if( type.equals(String.class)) {
					put(name,""+(String)f.get(this));
				} else if( type.equals(boolean.class)) {
					put(name,""+f.getBoolean(this));
				} else {
					put(name,f.get(this));
				}
			} catch (Exception ex) { }
		}
		
	}