Java 改型-JSON数组解析
我正在使用Java 改型-JSON数组解析,java,android,arrays,json,retrofit,Java,Android,Arrays,Json,Retrofit,我正在使用改型解析JSON数组,其中JSON数组如下所示: "hobbies": [ "Music", "Reading"] { "type":"success", "value":[ { "id":1, "title":"Title - 1", "name":{ "first":"First - 1", "last":"Last - 1"
改型解析JSON数组
,其中JSON数组如下所示:
"hobbies": [ "Music", "Reading"]
{
"type":"success",
"value":[
{
"id":1,
"title":"Title - 1",
"name":{
"first":"First - 1",
"last":"Last - 1"
},
"hobbies":[
"Writing Code - 1",
"Listening Music - 1"
]
},
.....
]
}
下面是我的JSON
的样子:
"hobbies": [ "Music", "Reading"]
{
"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>();
viewHolder.hobbies.setText(value.getHobbies().toString());
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;
}
}
public interface Service {
@GET("/demo_retrofit.json")
Observable<Master> getMaster();
}
当我运行我的程序时,我正在获取数据
,如下所示:
[Music, Reading]
所以,问题是为什么
我在输出中也得到了[]
Value.java
private List<String> hobbies = new ArrayList<String>();
viewHolder.hobbies.setText(value.getHobbies().toString());
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;
}
}
public interface Service {
@GET("/demo_retrofit.json")
Observable<Master> getMaster();
}
公共类值{
@序列化名称(“id”)
@暴露
私有整数id;
@序列化名称(“标题”)
@暴露
私有字符串标题;
@序列化名称(“爱好”)
@暴露
私人列表嗜好=新建ArrayList();
@序列化名称(“名称”)
@暴露
私人姓名;
.....
公众兴趣爱好列表(){
回归爱好;
}
公共爱好(列出爱好){
这个。爱好=爱好;
}
}
Service.java
private List<String> hobbies = new ArrayList<String>();
viewHolder.hobbies.setText(value.getHobbies().toString());
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;
}
}
public interface Service {
@GET("/demo_retrofit.json")
Observable<Master> getMaster();
}
公共接口服务{
@GET(“/demo\u reformation.json”)
可观察的getMaster();
}
MD和Jackson是对的Object.toString()
方法返回“文本表示”此对象的字符串。因此,对于您的情况,嗜好是一个数组列表,因此文本表示将带有[]
。)
编辑:
您可能希望为此使用for循环:
for (String hobby : hobbies) {
// Do something with hobby here
}
实际上value.getHabiods()
直接返回带有[]
的列表
。最好使用StringBuilder
将json转换为pojo@JacksonChengalai是的,但我的问题是我为什么要进去output@Oreo实际上value.getHabiods()
直接返回带有[]
的列表
。更好的迭代并使用StringBuilder
@MD显示。请将其作为您的答案发布,然后我将接受该答案。谢谢,我已经完成了此操作,但很抱歉,这次将接受@MD的答案,因为他首先向我展示了获取答案的方法:)但是我勾选了你的答案作为有用的,我也用于每个循环…尝试使用StringBuilder,StringBuilder.append(value)
将你的值连接在一起。然后只有您才能learningTV.setText(stringBuilder.toString())代码>你好,伙计。看看这个: