第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

Gson-從Json轉(zhuǎn)換為類(lèi)型化ArrayList <T>

Gson-從Json轉(zhuǎn)換為類(lèi)型化ArrayList <T>

慕萊塢森 2019-12-13 09:12:24
使用Gson庫(kù),如何將JSON字符串轉(zhuǎn)換ArrayList為自定義類(lèi)的JsonLog?基本上,這JsonLog是由我的Android應(yīng)用創(chuàng)建的各種日志(SMS日志,通話(huà)日志,數(shù)據(jù)日志)實(shí)現(xiàn)的界面,這ArrayList是所有這些的集合。我在第6行中不斷收到錯(cuò)誤消息。public static void log(File destination, JsonLog log) {    Collection<JsonLog> logs = null;    if (destination.exists()) {        Gson gson = new Gson();        BufferedReader br = new BufferedReader(new FileReader(destination));        logs = gson.fromJson(br, ArrayList<JsonLog>.class); // line 6        // logs.add(log);        // serialize "logs" again    }}看來(lái)編譯器無(wú)法理解我指的是typed ArrayList。我該怎么辦?
查看完整描述

3 回答

?
搖曳的薔薇

TA貢獻(xiàn)1793條經(jīng)驗(yàn) 獲得超6個(gè)贊

您可以使用TypeToken將json字符串加載到自定義對(duì)象中。


logs = gson.fromJson(br, new TypeToken<List<JsonLog>>(){}.getType());


查看完整回答
反對(duì) 回復(fù) 2019-12-13
?
拉丁的傳說(shuō)

TA貢獻(xiàn)1789條經(jīng)驗(yàn) 獲得超8個(gè)贊

您的JSON示例為:


{

    "status": "ok",

    "comment": "",

    "result": {

    "id": 276,

    "firstName": "mohamed",

    "lastName": "hussien",

    "players": [

            "player 1",

            "player 2",

            "player 3",

            "player 4",

            "player 5"

    ]

}

因此,如果您想將模塊的數(shù)組列表保存在SharedPrefrences中,則:


1-將使用此方法將返回的arraylist轉(zhuǎn)換為json格式


public static String toJson(Object jsonObject) {

    return new Gson().toJson(jsonObject);

}

2-將其保存在共享的偏好中


PreferencesUtils.getInstance(context).setString("players", toJson((.....ArrayList you want to convert.....)));

3-隨時(shí)檢索它從共享首選項(xiàng)中獲取JsonString


String playersString= PreferencesUtils.getInstance(this).getString("players");

4-再次將其轉(zhuǎn)換為數(shù)組列表


public static Object fromJson(String jsonString, Type type) {

    return new Gson().fromJson(jsonString, type);

}


ArrayList<String> playersList= (ArrayList<String>) fromJson(playersString,

                    new TypeToken<ArrayList<String>>() {

                    }.getType());

如果您想解析對(duì)象的ArrayList,此解決方案也是可行的。希望通過(guò)使用Gson Library幫助您。


查看完整回答
反對(duì) 回復(fù) 2019-12-13
  • 3 回答
  • 0 關(guān)注
  • 1823 瀏覽
慕課專(zhuān)欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢(xún)優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)