import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.serializer.JSONLibDataFormatSerializer; import com.alibaba.fastjson.serializer.SerializeConfig; import com.alibaba.fastjson.serializer.SerializerFeature; import com.atguigu.pojo.Student; import com.thoughtworks.xstream.XStream; /** * javaBean工具类 */ public class BeanUtils { private static final SerializeConfig config; static { config = new SerializeConfig(); config.put(java.util.Date.class, new JSONLibDataFormatSerializer()); // 使用和json-lib兼容的日期输出格式 config.put(java.sql.Date.class, new JSONLibDataFormatSerializer()); // 使用和json-lib兼容的日期输出格式 } private static final SerializerFeature[] features = {SerializerFeature.WriteMapNullValue, // 输出空置字段 SerializerFeature.WriteNullListAsEmpty, // list字段如果为null,输出为[],而不是null SerializerFeature.WriteNullNumberAsZero, // 数值字段如果为null,输出为0,而不是null SerializerFeature.WriteNullBooleanAsFalse, // Boolean字段如果为null,输出为false,而不是null SerializerFeature.WriteNullStringAsEmpty // 字符类型字段如果为null,输出为"",而不是null }; /** * 1-1.Bean对象---》JSON字符串 */ public static String BeantoJSONString(Object object) { return JSON.toJSONString(object, config); } /** * 1-2 Bean对象---》JSON字符串 ,带有过滤器 */ public static String BeantoJSONStrFilter(Object object) { return JSON.toJSONString(object, config, features); } /** * 2.Bean对象---》JSONObject (Bean对象---》JSONO字符串---》JSONObject) */ public static net.sf.json.JSONObject BeantoJSONObject(Object object) { String JSONStr = BeantoJSONString(object); net.sf.json.JSONObject jsonObject = net.sf.json.JSONObject.fromObject(JSONStr); return jsonObject; } /** * 3.Bean对象---》XML * * @param object 需要被转换的Bean对象 * @param clazz 对象的泛型 * @param alias 对象的别名 * @param <T> 对象的泛型 * @return */ public static <T> String BeanToXml(Object object, Class<T> clazz, String alias) { //创建xstream对象 XStream xStream = new XStream(); xStream.alias(alias, Student.class); xStream.processAnnotations(clazz); String xml = xStream.toXML(object); return xml; } }
转载于:https://my.oschina.net/u/4117203/blog/3039876