JSONUtils

package com.xiolift.mdm.common.util;

import com.alibaba.druid.util.StringUtils;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;

import java.util.HashMap;
import java.util.Map;

public class JSONUtils<T> {
    /**
     * Bean对象转JSON
     * 
     * @param object
     * @param dataFormatString
     * @return
     */
    public static String beanToJson(Object object, String dataFormatString) {
        if (object != null) {
            if (StringUtils.isEmpty(dataFormatString)) {
                return JSONObject.toJSONString(object);
            }
            return JSON.toJSONStringWithDateFormat(object, dataFormatString);
        } else {
            return null;
        }
    }

    /**
     * Bean对象转JSON
     * 
     * @param object
     * @return
     */
    public static String beanToJson(Object object) {
        if (object != null) {
            return JSON.toJSONString(object);
        } else {
            return null;
		}
	}

	/**
	 * String转JSON字符串
	 * 
	 * @param key
	 * @param value
	 * @return
	 */
	public static String stringToJsonByFastjson(String key, String value) {
		if (StringUtils.isEmpty(key) || StringUtils.isEmpty(value)) {
			return null;
		}
		Map<String, String> map = new HashMap<String, String>(16);
		map.put(key, value);
		return beanToJson(map, null);
	}

	/**
	 * 将json字符串转换成对象
	 * 
	 * @param json
	 * @param clazz
	 * @return
	 */
	public static Object jsonToBean(String json, Object clazz) {
		if (StringUtils.isEmpty(json) || clazz == null) {
			return null;
		}
		return JSON.parseObject(json, clazz.getClass());
	}

	/**
	 * json字符串转map
	 * 
	 * @param json
	 * @return
	 */
	@SuppressWarnings("unchecked")
	public static Map<String, Object> jsonToMap(String json) {
		if (StringUtils.isEmpty(json)) {
			return null;
		}
		return JSON.parseObject(json, Map.class);
	}

	public static JSONObject mapToJson(Map<String, Object> map) {
		String data = JSON.toJSONString(map);
		return JSON.parseObject(data);
	}

	/**
	 * map中取key对应的value
	 * @param map
	 * @param key
	 * @return
	 */
	public String mapToString(Map<String, Object> map, String key) {
		JSONObject jsonObject = mapToJson(map);
		return jsonObject.getString(key);
	}
	/**
	 * map中取类对象
	 * @param map
	 * @param clazz
	 * @param key
	 * @param <T>
	 * @return
	 */
	public static <T> T mapToObject(Map<String, Object> map, Class<T> clazz, String key) {
		T t = null;
		JSONObject jsonObject = mapToJson(map);
		JSONObject object = jsonObject.getJSONObject(key);
		t = object.toJavaObject(clazz);
		return t;
	}

//  调用方法
//	Subject subject = jsonUtil.mapToObject(map, Subject.class, "subject");
//	//获取List数组
//	List<Progress> progressList = jsonUtil.mapToList(map, Progress.class, "progress");
//	//获取key对应的值
//	String specid = jsonUtil.mapToString(map, "specid");



}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

白大锅

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值