я получить ответ JSON от сервера, и я хочу, чтобы преобразовать его в POJO, который заключается в следующем:Преобразовать JSON в POJO с помощью Gson: JsonSyntaxException
public class MeasureDataGetPOJO {
@SerializedName("CODE")
private String code = null;
@SerializedName("USER")
private User user = null;
public String getCode() {
return code;
}
public void setCode(String code) {
this.code = code;
}
public User getUser() {
return user;
}
public void setUser(User user) {
this.user = user;
}
public class User {
private List<MeasureData> measureDatas = null;
public List<MeasureData> getMeasureDatas() {
return measureDatas;
}
public void setMeasureDatas(List<MeasureData> measureDatas) {
this.measureDatas = measureDatas;
}
public class MeasureData {
@SerializedName("MT_TIME")
private String time = null;
@SerializedName("MT_VALUE")
private String value = null;
public String getTime() {
return time;
}
public void setTime(String time) {
this.time = time;
}
public String getValue() {
return value;
}
public void setValue(String value) {
this.value = value;
}
}
}
}
JSON я получаю от сервера:
{
"CODE":"012",
"USER":
[
{
"MT_TIME":"1412882760",
"MT_VALUE":"319",
}
]
}
И ошибка я получаю от Gson является:
Caused by: com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was BEGIN_ARRAY at line 1 column 10
есть ли что-то не так с JSON или с POJO I попытаться отобразить JSON? Я ожидаю одного пользователя с несколькими парами MT_TIME и MT_VALUE.
Итак, я получаю код состояния и пользовательский объект. пользователь имеет массив пар MT_TIME и MT_VALUE. Позже, возможно, будет больше информации о пользователе в объекте пользователя.
Это просто догадка, но будет ли это правильным json?
{
"CODE":"012",
"USER":
{
"MEASURE_DATA":
[
{
"MT_TIME":"1412882760",
"MT_VALUE":"319"
}
]
}
}
с дополнительным SerializedName здесь:
@SerializedName("MEASURE_DATA")
private List<MeasureData> measureDatas = null;
Нет, второй JSON полностью недействителен. (Запустите его через [онлайн-парсер] (http://json.parser.online.fr/), чтобы узнать, почему.) (И перейдите на json.org, чтобы узнать синтаксис JSON.) –
(«ПОЛЬЗОВАТЕЛЬ» - это массив, и как таковой обычно представлен списком. Только объект JSON отображает POJO без гимнастики.) –
спасибо за подсказку @HotLicks, я исправил его. json - это не мое дело. мой партнер должен исправить это, потому что pojo должен быть таким. – Mulgard