Я анализирую POJO в json, используя библиотеку Google gson. Это задействованные объекты:
// Order.java
public class Order {
// ...
private int id;
private String name;
private Location location;
// ...
}
// Location.java
public class Location {
// ...
private String address;
private float latitude;
private float longitude;
private String postcode
// ...
}
Когда я запускаю его через gson (убедившись, что переменная-член Location не равна нулю), используя new Gson().toJson(order)
, я получаю следующие результаты:
{
"id" : 1,
"name" : "nameValue"
}
но я ожидал получить что-то вроде этого:
{
"id" : 1,
"name" : "nameValue",
"location" : {
"address" : "some address",
"latitude" : 53.346346,
"longitude" : -3.346363,
"postcode" : "23563"
}
}
Не могу понять, почему это происходит. Кто-нибудь сталкивался с этим? Что может быть такого, что я делаю неправильно?
Я попытался установить пользовательский адаптер типа без везения.
Спасибо за вашу помощь.
Gson gson = new GsonBuilder().serializeNulls().create();
и посмотрите, получите ли вы location: null? - person Yenchi   schedule 27.04.2012