Сопоставление JSON с классом JavaJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Сопоставление JSON с классом Java

Сообщение Anonymous »

Я хочу сопоставить вывод JSON с классом Java. Это ответ на запрос REST API. Я прикрепил часть JSON, с которой у меня возникли проблемы. Это меньшая часть большого файла. Проблема в том, что это не стандартная пара свойство/значение, такая как

Код: Выделить всё

"color" : "red"
Выглядит это так:

Код: Выделить всё

{"transactions" : {
"transaction_id_005" : {
"complete" : false,
"confirmed" : false,
"event_transaction_id" : "transaction_id_005_11223344_1714400505026_SWupdate-000002",
"event_type" : "software_update",
"expiration_mark" : false}
}
}
У меня есть такой код.

Код: Выделить всё

Transaction trans = new Gson().fromJson(transstring, Transaction.class);
}

catch (Exception e) {
System.out.println(e.getMessage());
}
и классы:

Код: Выделить всё

public class Transaction {

public String transactions = "";
public Embedded embedded = null;
public String getTransactions() {
return transactions;
}
public void setTransactions(String transactions) {
this.transactions = transactions;
}
public Embedded getEmbedded() {
return embedded;
}
public void setEmbedded(Embedded embedded) {
this.embedded = embedded;
}
}

class Embedded {
public String complete ="";
public String confirmed ="";
public String event_transaction_id = "";
public String event_type = "";
public String expiration_mark = "";
}
Выдается следующее исключение:
gson.JsonSyntaxException: java.lang.IllegalStateException: ожидалась строка, но она была BEGIN_OBJECT в строке 1, столбец 20, путь $.transactionsЧто, как я обнаружил, означает, что он не ожидает открытия { в первой строке после «транзакций» :

Подробнее здесь: https://stackoverflow.com/questions/791 ... java-class
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»