Gson-从Json解析到类型为ArrayList <T>

时间:2019-06-19 13:33:29

标签: java json rest parsing gson

通过JSON响应生成的GSON JAVA类。我正在尝试从Address_.java类解析Address1和Address。它是根据JSON响应生成的。我正在使用GSON进行解析,然后尝试从中读取Address1和Address2的值。我尝试了多种解析方法,但尝试未成功。

AddressList.java

https://demo-api.directus.app/_/items/sales/1,2,3

Embedded.java

public class AddressList {

    @SerializedName("_embedded")
    @Expose
    private Embedded embedded;

    public Embedded getEmbedded() {
        return embedded;
    }

    public void setEmbedded(Embedded embedded) {
        this.embedded = embedded;
    }

}

Address.java

public class Embedded {

    @SerializedName("address")
    @Expose
    private List<Address> address = null;

    public List<Address> getAddress() {
        return address;
    }

    public void setAddress(List<Address> address) {
        this.address = address;
    }

}

GSON响应

public class Address {

    @SerializedName("_links")
    @Expose
    private Links_ links;
    @SerializedName("_embedded")
    @Expose
    private Object embedded;
    @SerializedName("customer")
    @Expose
    private String customer;
    @SerializedName("account")
    @Expose
    private String account;
    @SerializedName("address1")
    @Expose
    private String address1;
    @SerializedName("address2")
    @Expose
    private String address2;


    public Links_ getLinks() {
        return links;
    }

    public void setLinks(Links_ links) {
        this.links = links;
    }

    public Object getEmbedded() {
        return embedded;
    }

    public void setEmbedded(Object embedded) {
        this.embedded = embedded;
    }

    public String getCustomer() {
        return customer;
    }

    public void setCustomer(String customer) {
        this.customer = customer;
    }

    public String getAccount() {
        return account;
    }

    public void setAccount(String account) {
        this.account = account;
    }

    public String getAddress1() {
        return address1;
    }

    public void setAddress1(String address1) {
        this.address1 = address1;
    }

    public String getAddress2() {
        return address2;
    }

    public void setAddress2(String address2) {
        this.address2 = address2;
    }

}

有人可以帮我吗?谢谢

1 个答案:

答案 0 :(得分:0)

感谢GhostCat。我从响应和对象本身中删除了_embedded,它开始起作用。第三方网络服务使用_发送响应。现在正在工作。