Android Gson解析json工具類封裝

來源:互聯網
上載者:User

標籤:parse   對象   for   style   parser   工具類   imp   nal   bsp   

package com.springSecurity.gson;import java.util.ArrayList;import java.util.List;import java.util.Map;import com.google.gson.Gson;import com.google.gson.JsonArray;import com.google.gson.JsonElement;import com.google.gson.JsonParser;import com.google.gson.reflect.TypeToken;/** *  * @author jiangminyan * @date   2016年10月17日 */public class GsonUtil {private static Gson gson = null;    static {        if (gson == null) {            gson = new Gson();        }    }    private GsonUtil() {    }    /**     * 將object對象轉成json字串     *      * @param object     * @return     */    public static String GsonString(Object object) {        String gsonString = null;        if (gson != null) {            gsonString = gson.toJson(object);        }        return gsonString;    }    /**     * 將gsonString轉成泛型bean     *      * @param gsonString     * @param cls     * @return     */    public static <T> T GsonToBean(String gsonString, Class<T> cls) {        T t = null;        if (gson != null) {            t = gson.fromJson(gsonString, cls);        }        return t;    }   /**     * 轉成list     * 泛型在編譯期類型被擦除導致報錯     * @param gsonString     * @param cls     * @return     */    public static <T> List<T> GsonToList(String gsonString, Class<T> cls) {        List<T> list = null;        if (gson != null) {            list = gson.fromJson(gsonString, new TypeToken<List<T>>() {            }.getType());        }        return list;    }    /**     * 轉成list     * 解決泛型問題     * @param json     * @param cls     * @param <T>     * @return     */    public static <T> List<T> jsonToList(String json, Class<T> cls) {        Gson gson = new Gson();        List<T> list = new ArrayList<T>();        JsonArray array = new JsonParser().parse(json).getAsJsonArray();        for(final JsonElement elem : array){            list.add(gson.fromJson(elem, cls));        }        return list;    }    /**     * 轉成list中有map的     *      * @param gsonString     * @return     */    public static <T> List<Map<String, T>> GsonToListMaps(String gsonString) {        List<Map<String, T>> list = null;        if (gson != null) {            list = gson.fromJson(gsonString,                    new TypeToken<List<Map<String, T>>>() {                    }.getType());        }        return list;    }    /**     * 轉成map的     *      * @param gsonString     * @return     */    public static <T> Map<String, T> GsonToMaps(String gsonString) {        Map<String, T> map = null;        if (gson != null) {            map = gson.fromJson(gsonString, new TypeToken<Map<String, T>>() {            }.getType());        }        return map;    }}

 

Android Gson解析json工具類封裝

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.