【发布时间】:2016-11-28 11:22:02
【问题描述】:
我正在尝试读取一个 jsonObject 并插入到我的实体中以创建一个新的实体。问题是我得到 application=null 和 version=0 并且不是我在 json 中拥有的正确数据。
这是我尝试使用 GSON 库的代码:
final Gson gson = new Gson();
VersionDTO jsonObject = gson.fromJson(entity, VersionDTO.class);
try {
versionFilterService.setVersionDTO(jsonObject);
} catch (ServiceException e) {
e.printStackTrace();
}
entity 是一个字符串,我的 json 格式如下:
{
"context": {
"location":{
"longt":0,
"lat":0,
"radius":0
},
"accessToken":"asd",
"notificationToken":"dasda",
"requestTime":11111111,
"application":"1 Android Mobile",
"version":1
},
"request":{
"application":"1 Android Mobile",
"version":1
}
}
这是我的 VersionDTO:
public class VersionDTO {
int version;
String application;
public VersionDTO(int version, String application){
this.version = version;
this.application = application;
}
public String getApplication() {
return application;
}
public void setApplication(String application) {
this.application = application;
}
public int getVersion() {
return version;
}
public void setVersion(int version) {
this.version = version;
}
}
【问题讨论】:
-
您自己可能会看到,您的versionDTO 类结构与 与您获得的json 不匹配。因此,创建一个类 Foo,它有一个名为
request的 VersionDTO 字段,并将 Foo 与 gson 一起使用 -
我想要做的是创建一个对象,其中仅包含具有 VersionDTO 的元素。不知道我是否理解你的回答。请提供一小段代码好吗?