溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

開(kāi)源組件:Gson庫(kù)的一般使用方法

發(fā)布時(shí)間:2020-07-19 11:05:00 來(lái)源:網(wǎng)絡(luò) 閱讀:3211 作者:glblong 欄目:開(kāi)發(fā)技術(shù)


//      先導(dǎo)入gson的jar包
//      gson的一般使用方法
//      class的屬性名必須與json字符串中的key大小寫(xiě)完全一致
        
    //解析JSONArray
    private void parseJSONArray()
    {
        String jsonArr = "[{'key1':'value1', 'key2':'value2'}, {'key1':'value1', 'key2':'value2'}]";
        Gson gson = new Gson();
        java.lang.reflect.Type type = new com.google.gson.reflect.TypeToken<List<JsonData>>()
        {
        }.getType();
        List<JsonData> fromJson = gson.fromJson(jsonArr, type);
        mTextView.setText(fromJson.toString());
    }
    //解析JSONObject
    private void parseJSONObject()
    {
        String jsonObj = "{'key1':'value1', 'key2':'value2'}";
        Gson gson = new Gson();
        JsonData jsonData = gson.fromJson(jsonObj, JsonData.class);
        mTextView.setText(jsonData.toString());
    }
    class JsonData//屬性必須與json里面的key一致
    {
        String key1;
        String key2;
        @Override
        public String toString()
        {
            return "JSON1 [key1=" + key1 + ", key2=" + key2 + "]";
        }
    }




注:

1.參數(shù)類(lèi)型不能是ArrayList,而是List

public class TestJson
{
    public int Id;
    public String Name;
    
    public ParamJson EstateParam;
    public List<String> Banners;//此處參數(shù)類(lèi)型不能是ArrayList,而是List 
}


public class ParamJson
{
    public int Id;
    public String Name;
    
    public List<String> ListData;
}


解析只要一句代碼即可:

TestJson mJson = ((TestJson) new Gson().fromJson(str, TestJson.class));














向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI