Java 来自json对象的类实例字段返回null

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

我试图从JSON响应中获取类实例。我的json响应如下所示:

例如,我的类看起来如下所示:

    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