【发布时间】:2012-04-27 00:39:30
【问题描述】:
我正在使用 Google 的 gson 库将 POJO 解析为 json。这些是涉及的对象:
// 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
// ...
}
当我使用 new Gson().toJson(order) 通过 gson(确保 Location 成员变量不为空)运行它时,我得到了以下结果:
{
"id" : 1,
"name" : "nameValue"
}
但我期待得到这样的东西:
{
"id" : 1,
"name" : "nameValue",
"location" : {
"address" : "some address",
"latitude" : 53.346346,
"longitude" : -3.346363,
"postcode" : "23563"
}
}
无法弄清楚为什么会发生这种情况。有人遇到过这个吗?我可能做错了什么?
我尝试设置自定义类型适配器,但没有成功。
感谢您的帮助。
【问题讨论】:
-
您是否尝试关闭 gson 中的忽略 null 选项?尝试使用
Gson gson = new GsonBuilder().serializeNulls().create();创建你的 gson 实例,看看你是否得到 "location" : null ?
标签: java android json gson pojo