Я пытаюсь разобрать свой собственный JSON, но получить JSONSyntaxException
, вот как мой JSON выглядит:дооснащения - java.lang.IllegalStateException: Ожидаемое BEGIN_ARRAY но BEGIN_OBJECT
{
"type":"success",
"value":[
{
"id":1,
"title":"Title - 1",
"name":{
"first":"First - 1",
"last":"Last - 1"
},
"hobbies":[
"Writing Code - 1",
"Listening Music - 1"
]
},
.....
]
}
Log говорит:
E/app.retrofit_chucknorries.MainActivity$2: ERROR: com.google.gson.JsonSyntaxException:
java.lang.IllegalStateException: Expected BEGIN_ARRAY but was BEGIN_OBJECT
at line 7 column 12 path $.value[0].name
01-21 12:41:52.156 28936-28936/app.retrofit_chucknorries
W/System.err: retrofit.RetrofitError: com.google.gson.JsonSyntaxException:
java.lang.IllegalStateException: Expected BEGIN_ARRAY but was BEGIN_OBJECT
at line 7 column 12 path $.value[0].name
Где я делаю mistake ?
я только что сделал несколько небольших изменений, как на мой requirement and classes
еще все почти такое же, как и в оригинале Код Value.java:
import com.google.gson.annotations.Expose;
import com.google.gson.annotations.SerializedName;
import java.util.ArrayList;
import java.util.List;
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 List<Name> name = new ArrayList<Name>();
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public List<Name> getName() {
return name;
}
public void setName(List<Name> name) {
this.name = name;
}
public List<String> getHobbies() {
return hobbies;
}
public void setHobbies(List<String> hobbies) {
this.hobbies = hobbies;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
}
В журнале говорится: «BEGIN_ARRAY, но BEGIN_OBJECT в строке 7», так как ваша строка 7 вашего Json должна быть такой: «name»: { – Jiyeh
да, спасибо, я ошибся. Я отметил как полезный и примет через 5 минут, могу ли я задать вопрос? – Oreo
Да, если я могу ответить – Jiyeh