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 

如果對您有幫助,歡迎掃碼關注:

                                                                        

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