Gson 不绑定 Java 中的列表
Gson dont bind List in Java
我正在尝试将以下 Json 转换为 Java class。由于某种原因,Gson 没有绑定 Ecs 的列表。
ecs 列表返回 null。我必须为 Gson 做一些事情来识别列表。拜托,我做错了什么?
这些是我的 classes:
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
}
]
}
]
}
您遇到了案例问题。关键是 ECs
而不是 ecs
。查看 this 答案了解详情。值!
我正在尝试将以下 Json 转换为 Java class。由于某种原因,Gson 没有绑定 Ecs 的列表。 ecs 列表返回 null。我必须为 Gson 做一些事情来识别列表。拜托,我做错了什么?
这些是我的 classes:
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
}
]
}
]
}
您遇到了案例问题。关键是 ECs
而不是 ecs
。查看 this 答案了解详情。值!