我使用Json.Net来反序列化对象Json数据。
这是我的Json
string datosContratos = {"Total":1,"Contrato":[{"Numero":1818,"CUPS":"ES003L0P","Direccion":"C. O ","TextoCiudad":"MADRID","Tarifa":"2"}]}
我的课程是:
public class Contrato
{
public int Numero;
public String Cups;
public String Direccion;
public String TextoCiudad;
public String Tarifa;
}
public class Contratos
{
public int Total { get; set; }
public List<Contrato> ListaContratos { get; set; }
}
当我解除批评时:
Contratos contratos = JsonConvert.DeserializeObject<Contratos>(datosContratos);
结果是contratos.Total是正确的(在这种情况下为1)但ListaContratos
为空,尽管它应该用数据填充。我没有看到问题!!!
答案 0 :(得分:2)
您的类必须具有与JSON相同的变量名称,因此它应如下所示:
public class Contratos
{
public int Total { get; set; }
public List<Contrato> Contrato { get; set; }
}
答案 1 :(得分:2)
在JSON
字符串中有一个名为Contrato
的属性,而在您的班级中,Contrato
的列表被声明为ListaContratos
将json字符串更改为
string datosContratos = {"Total":1,
"ListaContratos ":[{"Numero":1818,
"CUPS":"ES003L0P",
"Direccion":"C. O ",
"TextoCiudad":"MADRID",
"Tarifa":"2"}]}
或强>
将班级定义更改为
public class Contratos
{
public int Total { get; set; }
public List<Contrato> Contrato { get; set; }
}