栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

【Java】FastjsonUtils(Fastjson 工具类)

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

【Java】FastjsonUtils(Fastjson 工具类)

Java Fastjson 工具类
import com.alibaba.fastjson.*;
import com.alibaba.fastjson.serializer.SerializerFeature;
import com.alibaba.fastjson.util.ParameterizedTypeImpl;

import java.lang.reflect.ParameterizedType;
import java.lang.reflect.Type;
import java.util.List;
import java.util.Map;
import java.util.Objects;

public class FastjsonUtils {

    public static ParameterizedType makeJavaType(Type rawType, Type... typeArguments) {
        return new ParameterizedTypeImpl(typeArguments, null, rawType);
    }

    public static String toString(Object value) {
        if (Objects.isNull(value)) {
            return null;
        }
        if (value instanceof String) {
            return (String) value;
        }
        return toJSONString(value);
    }

    public static String toJSONString(Object value) {
        return JSON.toJSONString(value, SerializerFeature.DisableCircularReferenceDetect);
    }

    public static String toPrettyString(Object value) {
        return JSON.toJSONString(value, SerializerFeature.DisableCircularReferenceDetect
                                      , SerializerFeature.PrettyFormat);
    }

    public static Object fromJavaObject(Object value) {
        Object result = null;
        if (Objects.nonNull(value) && (value instanceof String)) {
            result = parseObject((String) value);
        } else {
            result = JSON.toJSON(value);
        }
        return result;
    }

    public static JSON parseObject(String content) {
        try {
            return JSON.parseObject(content);
        } catch (JSONException ex) {
            Throwable cause = ex.getCause();
            if (Objects.nonNull(cause)
                    && cause instanceof ClassCastException
                    && cause.getMessage().contains("JSONArray")) {
                return JSON.parseArray(content);
            }
            throw ex;
        }
    }

    public static Object getJsonElement(JSONObject node, String name) {
        return node.get(name);
    }

    public static Object getJsonElement(JSONArray node, int index) {
        return node.get(index);
    }

    public static  T toJavaObject(JSON node, Class clazz) {
        return node.toJavaObject(clazz);
    }

    public static  T toJavaObject(JSON node, Type type) {
        return node.toJavaObject(type);
    }

    public static  T toJavaObject(JSON node, TypeReference typeReference) {
        return node.toJavaObject(typeReference);
    }

    public static  List toJavaList(JSON node, Class clazz) {
        return node.toJavaObject(new TypeReference>(clazz){});
    }

    public static List toJavaList(JSON node) {
        return node.toJavaObject(new TypeReference>(){});
    }

    public static  Map toJavaMap(JSON node, Class clazz) {
        return node.toJavaObject(new TypeReference>(clazz){});
    }

    public static Map toJavaMap(JSON node) {
        return node.toJavaObject(new TypeReference>(){});
    }

    public static  T toJavaObject(String content, Class clazz) {
        return JSON.parseObject(content, clazz);
    }

    public static  T toJavaObject(String content, Type type) {
        return JSON.parseObject(content, type);
    }

    public static  T toJavaObject(String content, TypeReference typeReference) {
        return JSON.parseObject(content, typeReference);
    }

    public static  List toJavaList(String content, Class clazz) {
        return JSON.parseObject(content, new TypeReference>(clazz){});
    }

    public static List toJavaList(String content) {
        return JSON.parseObject(content, new TypeReference>(){});
    }

    public static  Map toJavaMap(String content, Class clazz) {
        return JSON.parseObject(content, new TypeReference>(clazz){});
    }

    public static Map toJavaMap(String content) {
        return JSON.parseObject(content, new TypeReference>(){});
    }

}


转载请注明:文章转载自 www.mshxw.com
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号