簡體   English   中英

改造-JSON數組解析

[英]Retrofit - JSON Array Parsing

我正在使用Retrofit解析JSON Array ,其中JSON Array看起來像:

"hobbies": [ "Music", "Reading"]

這是我的JSON樣子:

{
    "type":"success",
    "value":[
        {
            "id":1,
            "title":"Title - 1",
         "name":{
            "first":"First - 1",
            "last":"Last - 1"
         },
            "hobbies":[
                "Writing Code - 1",
            "Listening Music - 1"
            ]
        },
       .....
    ]
}

Value.java

private List<String> hobbies = new ArrayList<String>();

Adapter.java

viewHolder.hobbies.setText(value.getHobbies().toString());

當我運行程序時,我正在getting data ,如下所示:

[Music, Reading]

因此, 問題Why我的輸出也得到[]

Value.java

public class Value {

    @SerializedName("id")
    @Expose
    private Integer id;

    @SerializedName("title")
    @Expose
    private String title;

    @SerializedName("hobbies")
    @Expose
    private List<String> hobbies = new ArrayList<String>();

    @SerializedName("name")
    @Expose
    private Name name;

    .....

    public List<String> getHobbies() {
        return hobbies;
    }

    public void setHobbies(List<String> hobbies) {
        this.hobbies = hobbies;
    }
}

Service.java

public interface Service {

   @GET("/demo_retrofit.json")
   Observable<Master> getMaster();
}

實際上是value.getHobbies(); [ ]直接返回一個List 更好地iterate並通過使用StringBuilder iterate顯示

MD和傑克遜是對的。 Object.toString()方法返回一個“以文本形式表示”此對象的字符串。 因此,對於您的情況,興趣愛好是一個arrayList,因此文本表示形式將帶有[] ;)

編輯:

您可能要為此使用for循環:

for (String hobby : hobbies) {
    // Do something with hobby here
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM