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

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何通過具有多個級別數(shù)組的 Gson 對象

如何通過具有多個級別數(shù)組的 Gson 對象

拉丁的傳說 2022-05-12 18:24:27
我正在嘗試使用Gson庫獲取json中的參數(shù)。 這個想法是捕捉和。但我不知道如何獲得這些值,目前我創(chuàng)建了以下內(nèi)容: items>item>image>images>transparenttransparenttransparent_blanktransparent_darkjson{   "date_layout":"day-month-year",  "lastupdate":1547596830,    "items":[{      "name":"Cleans Cuts",      "featured":"true",      "item":{        "image":"http:www.domain.com/unwanted_image.jpg",           "images":{              "transparent":"http:www.domain.com/desired_image1.jpg",              "transparent_blank":"http:www.domain.com/desired_image2.jpg",              "transparent_dark":"http:www.domain.com/desired_image3.jpg"             }          }    },    {      "name":"Cleans Cuts",      "featured":"true",      "item":{        "image":"http:www.domain.com/unwanted_image.jpg",           "images":{              "transparent":"http:www.domain.com/desired_image1.jpg",              "transparent_blank":"http:www.domain.com/desired_image2.jpg",              "transparent_dark":"http:www.domain.com/desired_image3.jpg"             }          }    }]}。主要活動public class MainActivity extends AppCompatActivity {@Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);String url = "http://www.example.com/file.json";Request request = new Request.Builder()       .url(url)       .build();Response response = client.newCall(request).execute();       if(response.isSuccessful()){          String response_jSon = response.body().string();          Gson gson = new Gson();          Datos datosFinal = gson.fromJson(response_jSon, Datos.class);              for (int i=0; i<datosFinal.items.size(); i++){                Log.d("msg_2", datosFinal.items.get(i).name);              }}而且我只能訪問您在 .MainActivity 日志中看到的項目。Json 的類對象達托斯.javapublic class Datos {    public String date_layout;    public Int lastupdate;     List<items> items;}項目.javapublic class items {    public String name;}
查看完整描述

3 回答

?
元芳怎么了

TA貢獻1798條經(jīng)驗 獲得超7個贊

json 不是很干凈,我建議你重新設計這個 json 字符串的生成方式,但是如果你仍然想在不重新處理 json 的情況下獲得這些值,你需要將你的Items類更改為:


`public class items {

    public String name;

    public String featured;

    public Item item;

}` 

然后您需要創(chuàng)建另一個名為Item的類


`public class Item{

    public String image;

    public Image images;

}`

您還需要創(chuàng)建一個Image類,如下所示:


`public class Image {

    public String transparent;

    public String transparent_blank;

    public String transparent_dark;

}`

然后您可以在循環(huán)中記錄這些值:


`Datos datosFinal = gson.fromJson(response_jSon, Datos.class);

 for (int i=0; i<datosFinal.items.size(); i++){

        Log.d("msg_2", datosFinal.items.get(i).item.images.transparent);

        Log.d("msg_2", datosFinal.items.get(i).item.images.transparent_blank);

        Log.d("msg_2", datosFinal.items.get(i).item.images.transparent_dark);

}`

雖然這可能有效,但我強烈建議您重新編寫 json 并使其更易于維護。


查看完整回答
反對 回復 2022-05-12
?
汪汪一只貓

TA貢獻1898條經(jīng)驗 獲得超8個贊

你必須使用


public class items {

    public String name;

    @Expose(serialize = false, deserialize = false)

    public String featured;

    @Expose(serialize = false, deserialize = false)

    public item mItem;

}


public class item {

    @Expose(serialize = false, deserialize = false)

    public String image;

    @Expose(serialize = false, deserialize = false)

    public images mImages;

}


public class images {

    @Expose(serialize = false, deserialize = false)

    public String transparent;

    @Expose(serialize = false, deserialize = false)

    public String transparent_blank;

    @Expose(serialize = false, deserialize = false)

    public String transparent_dark;

}

您可以使用http://www.jsonschema2pojo.org/生成 pojo


查看完整回答
反對 回復 2022-05-12
?
一只甜甜圈

TA貢獻1836條經(jīng)驗 獲得超5個贊

您還必須創(chuàng)建以下類以獲得透明、透明空白和透明暗的價值


Images.java

項目.java


替換這個類:


public class Items{


private Item item;


private String name;


private String featured;


public Item getItem ()

{

    return item;

}


public void setItem (Item item)

{

    this.item = item;

}


public String getName ()

{

    return name;

}


public void setName (String name)

{

    this.name = name;

}


public String getFeatured ()

{

    return featured;

}


public void setFeatured (String featured)

{

    this.featured = featured;

}



}

添加這個類:


public class Images{


private String transparent_blank;


private String transparent_dark;


private String transparent;


public String getTransparent_blank ()

{

    return transparent_blank;

}


public void setTransparent_blank (String transparent_blank)

{

    this.transparent_blank = transparent_blank;

}


public String getTransparent_dark ()

{

    return transparent_dark;

}


public void setTransparent_dark (String transparent_dark)

{

    this.transparent_dark = transparent_dark;

}


public String getTransparent ()

{

    return transparent;

}


public void setTransparent (String transparent)

{

    this.transparent = transparent;

}

}


另外,添加這個類:


public class Item {


private Images images;


private String image;


public Images getImages ()

{

    return images;

}


public void setImages (Images images)

{

    this.images = images;

}


public String getImage ()

{

    return image;

}


public void setImage (String image)

{

    this.image = image;

}

}    

現(xiàn)在,您將使用 getter 方法獲取值。


查看完整回答
反對 回復 2022-05-12
  • 3 回答
  • 0 關注
  • 127 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號