首页 > 解决方案 > Gson不要在Java中绑定列表

问题描述

我正在尝试将以下 Json 转换为 Java 类。出于某种原因,Gson 没有绑定 Ecs 列表。ecs 列表返回 null。我必须做一些事情让 Gson 识别这个列表。请问,我做错了什么?

这些是我的课:

public class ConsultaProdutos {

    public String code;
    public String mensagem;
    public List<Retorno> retorno;

    // getters and setters
}

public class Retorno {
    public String idProduto;
    public String descricaoProduto;
    public String cardType;
    public List<ECs> ecs;

   //getters and setters
}

public class ECs {
    public String codigoEC;
    public String codigoTabelaCMM;
    public boolean habilitado;
    public boolean restricaoHabilitacao;

   //getters and setters
}

public class Teste {

public static void main(String[] args) throws JsonSyntaxException, JsonIOException, FileNotFoundException {
    // TODO Auto-generated method stub
    
    Gson gson = new Gson();
    ConsultaProdutos consulta = gson.fromJson(new FileReader("D:\\ConsultaProdutos.json"), ConsultaProdutos.class);

    for (Retorno retorno : consulta.getRetorno()) {
        if (retorno.getIdProduto().equals("18")) {
            List<ECs> ecs = retorno.getEcs();
            for (ECs ec : ecs) {
                if (ec.isHabilitado()) {
                    System.out.println("Tem Loja Virtual");
                } else {
                    System.out.println("Não tem Loja Virtual");
                }
                    
            }
        }
    }

}

这是Json:

{
"code": 200,
"mensagem": "Consulta realizada com sucesso.",
"retorno": [
    {
        "idProduto": 18,
        "descricaoProduto": "Loja Digital",
        "cardType": "LJVT",
        "ECs": [
            {
                "codigoEC": 179,
                "codigoTabelaCMM": "A419",
                "habilitado": false,
                "restricaoHabilitacao": false
            }
        ]
    }
]
}

标签: javagson

解决方案


你有一个案例问题。关键是ECs和不是ecs。检查答案以获取详细信息。瓦卢!


推荐阅读