美文网首页经典好文
基于Gson封装的Java json工具类

基于Gson封装的Java json工具类

作者: 视频怪物 | 来源:发表于2019-11-26 14:44 被阅读0次

Gson版本: 2.8.5

点击这里查看: fastjson版本Json解析工具封装

代码

import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import com.google.gson.reflect.TypeToken;

import java.util.List;
import java.util.Map;

/**
 * 基于Gson封装工具
 *
 * @author videomonster
 * @since 1.0.0
 */
public final class JsonUtil {

    private static Gson gson;

    static {
        gson = new GsonBuilder()
                // 对value为null的属性也进行序列化
//                .serializeNulls()
                .setDateFormat("yyyy-MM-dd HH:mm:ss")
                .create();
    }

    /**
     * 获取GsonBuilder实例
     *
     * @return
     */
    public static GsonBuilder builder() {
        return new GsonBuilder();
    }

    /**
     * 将对象转为json字符串
     *
     * @param object
     * @return
     */
    public static String toJson(Object object) {
        String json = null;
        if (gson != null) {
            json = gson.toJson(object);
        }
        return json;
    }

    /**
     * 将json字符串转为指定类型的实例
     *
     * @param json
     * @param cls
     * @param <T>
     * @return
     */
    public static <T> T parse(String json, Class<T> cls) {
        T t = null;
        if (gson != null) {
            t = gson.fromJson(json, cls);
        }
        return t;
    }

    /**
     * 将json转为Map
     *
     * @param json
     * @param <T>
     * @return
     */
    public static <T> Map<String, T> toMap(String json) {
        Map<String, T> map = null;
        if (gson != null) {
            map = gson.fromJson(json, new TypeToken<Map<String, T>>() {
            }.getType());
        }
        return map;
    }

    /**
     * 将json转为指定类型的List
     *
     * @param json
     * @param cls
     * @param <T>
     * @return
     */
    public static <T> List<T> toList(String json, Class<T> cls) {
        List<T> list = null;
        if (gson != null) {
            // 根据泛型返回解析指定的类型,TypeToken<List<T>>{}.getType()获取返回类型
            list = gson.fromJson(json, new TypeToken<List<T>>() {
            }.getType());
        }
        return list;
    }

    /**
     * 将json转为Map List
     *
     * @param json
     * @param <T>
     * @return
     */
    public static <T> List<Map<String, T>> toMapList(String json) {
        List<Map<String, T>> list = null;
        if (gson != null) {
            list = gson.fromJson(json,
                    new TypeToken<List<Map<String, T>>>() {
                    }.getType());
        }
        return list;
    }
}

相关文章

  • 基于Gson封装的Java json工具类

    Gson版本: 2.8.5 点击这里查看: fastjson版本Json解析工具封装 代码

  • Google的Gson工具类

    Gson工具类 简介 Gson是Google出品的Json解析函数库,可以将JSON字符串反序列化为对应的Java...

  • Android之Google Gson介绍

    Gson GSON 是 Google 提供的用来在 Java 对象和 JSON 数据之间进行映射的 Java 类库...

  • Gson

    Gson Gson 是 Google 提供的用来在 Java 对象和 JSON 数据之间进行映射的 Java 类库...

  • 基于fastjson封装的Java json工具类

    fastjson版本: 1.2.62 前言 我一直认为, 如果使用第三方工具, 一定是需要做一层封装, 这样才能最...

  • java封装json工具类

    这种工具类网上有很多,为什么我还要自己封装,就是为了一个字:用着“爽”! /** @author:作者Lelont...

  • Android Gson 工具类

    DevUtils Github Gson 工具类 -> GsonUtils.java

  • 常用代码

    1.获取前一天日期,格式:2019-08-03 2.基于Gson的Json工具类 3.restTemplate添加...

  • Json解析(使用Gson)

    Json的解析成 java 对象 Gson gson = new Gson(); // 将json 转化成 j...

  • Json字符串转JsonObject例子

    1、Gson Gson是Google发布的一个开源Java类库,能够很方便的在Java对象和JSON字符串之间进行...

网友评论

    本文标题:基于Gson封装的Java json工具类

    本文链接:https://www.haomeiwen.com/subject/mygewctx.html