【发布时间】:2016-04-27 12:06:24
【问题描述】:
我正在使用 Retrofit 解析 JSON Array,其中 JSON 数组如下所示:
"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();
}
【问题讨论】:
-
使用jsonschema2pojo.org将你的json转换成pojo
-
@JacksonChengalai 是对的
-
但我的问题是为什么我在输出中得到 []
-
@Oreo 其实
value.getHobbies();直接返回一个List和[ ]。更好的iterate它并使用StringBuilder显示 -
@MD 请把它作为你的答案发布,然后我会接受那个。
标签: java android arrays json retrofit