Json使用小工具类简单实现----复杂场景,切勿使用

1,基于Gson的简单工具类

第一步:添加依赖

implementation 'com.google.code.gson:gson:2.8.6'

 第二步:添加如下工具类

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

import java.util.List;

/**
 * Time: 2020/6/16
 * Author: Why
 * Description: 基于Gson的Json与Object转换
 */
public class GsonSupport {
    /**
     * 对象转为Json字符串
     *
     * @param t   :待转换对象
     * @param <T>
     * @return
     */
    public static <T> String objectToJson(T t) {
        Gson gson = new Gson();
        return gson.toJson(t);
    }
    
    /**
     * Json字符串转为对象
     *
     * @param json
     * @param <T>
     * @return
     */
    public static <T> T jsonToObject(String json) {
        Gson gson = new Gson();
        return gson.fromJson(json, new TypeToken<T>() {
        }.getType());
    }

    /**
     * Json数组转为List
     *
     * @param jsonArray
     * @param <T>
     * @return
     */
    public static <T> List<T> jsonToList(String jsonArray) {
        Gson gson = new Gson();
        List<T> list = gson.fromJson(jsonArray, new TypeToken<T>() {
        }.getType());
        return list;
    }


    /**
     * List转为JsonArray字符串
     *
     * @param list
     * @param <T>
     * @return
     */
    public static <T> String ListToJsonArray(List<T> list) {
        Gson gson = new Gson();
        String jsonArray = gson.toJson(list, new TypeToken<List<T>>() {
        }.getType());
        return jsonArray;
    }
}

 

2,基于Gson和FastJson的简单工具类

第一步:添加依赖

 implementation 'com.google.code.gson:gson:2.8.6'
 implementation 'com.alibaba:fastjson:1.1.54.android'

第二步:导入工具类

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.TypeReference;
import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;

import java.util.List;

/**
 * Time: 2020/6/16
 * Author: Why
 * Description: 基于Gson和FastJson实现json和Object之间的转换
 * (1) Object----》Json    Gson
 * (2)Json----》Object     FastJson
 */
public class GsonSupportPlus {

    /**
     * 对象转为Json字符串
     *
     * @param t   :待转换对象
     * @param <T>
     * @return
     */
    public static <T> String objectToJson(T t) {
        Gson gson = new Gson();
        return gson.toJson(t);
    }

    /**
     * Json字符串转为对象
     *
     * @param json
     * @param <T>
     * @return
     */
    public static <T> T jsonToObject(String json) {
        return JSON.parseObject(json, new TypeReference<T>(){});
    }

    /**
     * Json数组转为List
     *
     * @param jsonArray
     * @param c 元素类型Class文件
     * @param <T>
     * @return
     */
    public static <T> List<T> jsonToList(String jsonArray,Class c){
        return JSON.parseArray(jsonArray,c);
    }

    /**
     * List转为JsonArray字符串
     *
     * @param list
     * @param <T>
     * @return
     */
    public static <T> String ListToJsonArray(List<T> list) {
        Gson gson = new Gson();
        String jsonArray = gson.toJson(list, new TypeToken<List<T>>() {
        }.getType());
        return jsonArray;
    }
}

以上提供日常开发最常用实现,主要供自己使用方便。关于依赖版本,可自己修改。  最后,当然还有Jar包奉上哈哈

链接:https://pan.baidu.com/s/12jZB0otnUOVNsYXb-6dxCQ 
提取码:rups 

如果对您有帮助,欢迎扫码关注:

                                                                        

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章