Saya mencoba mengubah Json berikut menjadi kelas Java. Untuk beberapa alasan, Gson tidak mengikat daftar Ecs. Daftar ecs mengembalikan nol. Saya harus melakukan sesuatu agar Gson mengenali daftar itu. Tolong, Apa yang saya lakukan salah?

Ini adalah kelas saya:

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");
                }
                    
            }
        }
    }

}

Dan ini adalah 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
            }
        ]
    }
]
}
0
Geovani Carvalho 8 Juli 2020, 23:53

1 menjawab

Jawaban Terbaik

Anda memiliki masalah kasus. Kuncinya adalah ECs dan bukan ecs. Lihat ini jawaban untuk detailnya. nilai!

0
Sergio Santiago 8 Juli 2020, 21:13