Java 来自json对象的类实例字段返回null
我试图从JSON响应中获取类实例。我的json响应如下所示: 例如,我的类看起来如下所示:Java 来自json对象的类实例字段返回null,java,json,Java,Json,我试图从JSON响应中获取类实例。我的json响应如下所示: 例如,我的类看起来如下所示: private String brandName; @OneToMany(targetEntity=Store.class) private List<Store> stores; private String currency; private String title; public Product (){} public S
private String brandName;
@OneToMany(targetEntity=Store.class)
private List<Store> stores;
private String currency;
private String title;
public Product (){}
public String getBrandName() {
return brandName;
}
public void setBrandName(String brandName) {
this.brandName = brandName;
}
@OneToMany(targetEntity=Store.class)
public List<Store> getStores() {
return stores;
}
@OneToMany(targetEntity=Store.class)
public void setStores(List<Store> stores) {
this.stores = stores;
}
public String getCurrency() {
return currency;
}
public void setCurrency(String currency) {
this.currency = currency;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
private Gson gson = new Gson();
...
product = this.gson.fromJson(this.http.get(url), Product.class);
但是在我从gson api获得一个类之后,我看到我所有的类字段都是空的。我还试图将
@JsonProperty
添加到我的实体字段中,但它不起作用。并且还尝试使用ObjectMapper
获取实例,但结果为空。我做错了什么?我认为这不是您的类的有效实例。这是一个HTTP响应。
如果您看到您的项在值“products”之后开始,而值“products”是一个数组,那么即使该响应也只返回一个。
因此,您只需要获取项目的那一部分
因此,请尝试使用以下内容创建一个完整的JSON表示:
JSONObject myObject = new JSONObject(result);
然后只得到那个。。。我想是吧。最后,将其传递给Gson方法是否调试了返回非null内容的“this.http.get(url)”呢?我的意思是,你确定你得到了与屏幕截图上显示的相同的结构吗?@nineunderground是的,“this.http.get(url)”没有返回null,因为帖子上的图片是这种方法的结果。我没有相同的结构,因为我删除了一些字段,因为我不需要它们。我认为这是必须的工作。或者我需要与json中相同的结构,而不是删除我不需要的字段?请打印json字符串好吗?@nineunderground是的,有-。问题在于json的结构。所以你是对的,我只是需要得到json的一部分。thnks