把bean转换成json字符串,

/**
     * 把bean转换成json字符串, 日期格式默认为"yyyy-MM-dd"
     * 
     * @param bean
     *            实例
     * @return JSON字符串
     */
    public static String toJson(Object bean) {
        return toJson(bean, new String[] { "hibernateLazyInitializer" }, "yyyy-MM-dd");
    }

	/**
	 * 把bean转换成json字符串, 日期格式为 "yyyy-MM-dd'T'HH:mm:ss"
	 * 
	 * @param bean
	 *            实例
	 * @return JSON字符串
	 */
	public static String toJsonWithTime(Object bean) {
		return toJson(bean, new String[] { "hibernateLazyInitializer" },
				"yyyy-MM-dd'T'HH:mm:ss");
	}
    /**
     * 把bean转换成json字符串.
     * 
     * @param bean
     *            实例
     * @param excludes
     *            不使用json-lib转换的字段
     * @param datePattern
     *            日期转换格式
     * @return JSON字符串
     */
    public static String toJson(Object bean, String excludes, String datePattern) {

        if (excludes == null) {
            return toJson(bean, new String[] { "hibernateLazyInitializer" }, datePattern);
        }
        return toJson(bean, excludes.split(","), datePattern);
    }

    /**
     * 对象转成JSON字符串
     * 
     * @param bean
     *            obj
     * @param excludes
     *            不转换的属性数组
     * @param datePattern
     *            date到string转换的模式
     * @return JSON字符串
     */
    public static String toJson(Object bean, String[] excludes, String datePattern) {
        String pattern = null;

        if (datePattern != null) {
            pattern = datePattern;
        } else {
            pattern = "yyyy-MM-dd";
        }

        JsonConfig jsonConfig = configJson(excludes, pattern);

        JSON json = JSONSerializer.toJSON(bean, jsonConfig);

        return json.toString();
    }

    /**
     * 配置json-lib需要的excludes和datePattern.
     * 
     * @param excludes
     *            不需要转换的属性数组
     * @param datePattern
     *            日期转换模式
     * @return JsonConfig 根据excludes和dataPattern生成的jsonConfig,用于write
     */
    public static JsonConfig configJson(String[] excludes, String datePattern) {
        JsonConfig jsonConfig = new JsonConfig();
        jsonConfig.setExcludes(excludes);
        jsonConfig.setIgnoreDefaultExcludes(false);
        jsonConfig.setCycleDetectionStrategy(CycleDetectionStrategy.LENIENT);
        jsonConfig.registerJsonValueProcessor(Date.class, new DateJsonValueProcessor(datePattern));
        jsonConfig.registerJsonValueProcessor(java.sql.Date.class, new DateJsonValueProcessor(datePattern));
        jsonConfig.registerJsonValueProcessor(java.sql.Timestamp.class, new DateJsonValueProcessor(datePattern));

        return jsonConfig;
    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值