Я использую Moshi
для разбора JSON
ответов на JAVA
объектов. Проблема в том, что когда сервер не отправляет ключ-значение для вложенного класса, moshi назначает его null
. Хотя назначение значений по умолчанию для примитивов, String и т. Д. Работает, создание экземпляра вложенного класса не работает.
Родительский класс Customer -
public class Customer {
@Json(name = "id")
Integer id;
@Json(name = "test")
String test = "I'm batman!";
@Json(name = "default_address")
Address defaultAddress = new Address(-1, -1);
public Integer getId() {
return id;
}
public String getTest() {
return test;
}
}
Адресный класс -
public class Address {
@Json(name = "id")
Integer id;
@Json(name = "customer_id")
Integer customerId;
public Address(int id, int cusID) {
this.id = id;
this.customerId = cusID;
}
public Integer getCustomerId() {
return customerId;
}
public Integer getId() {
return id;
}
}
Хотя в ответе нет ключа с именем test
, он работает. Но когда сервер не отправляет ключ default_address
, defaultAddress
устанавливается на null
.