我有这个反序列化的json,因为我想读取这个json中的每一项以显示在列表视图中
[
{
"nom": "Gestión y Admon. de Proyectos",
"peri": "0985",
"crse_id": "013981",
"horario": [
{
"feci": "2019-01-21",
"hora": "16:00 - 18:00",
"saln": "EG-3.1",
"fecf": "2019-05-18",
"doc": "Carlos Mario Vélez Velásquez",
"dia": "4 "
}
],
"notas": [],
"parciales": []
},
{
"nom": "Análisis y Diseño de Algoritmo",
"peri": "0985",
"crse_id": "012853",
"horario": [
{
"feci": "2019-01-21",
"hora": "09:00 - 11:00",
"saln": "PL-3.2",
"fecf": "2019-05-11",
"doc": "MIGUEL ANGEL ROMERO GONZALEZ",
"dia": "2 "
},
{
"feci": "2019-01-21",
"hora": "09:00 - 11:00",
"saln": "PL-3.1",
"fecf": "2019-05-11",
"doc": "HERNAN CAMILO ROCHA NIÑO",
"dia": "4 "
}
],
"notas": [],
"parciales": []
}
]
我想读一个循环并在数组中显示cada对象的内容。 我正在使用XAMARIN,这是我的功能,但是没有用
var Items = JsonConvert.DeserializeObject <List<materias>>(content);
if (content != null)
{
await DisplayAlert("mensaje", Items.nom, "ok");
foreach (var materia in Items)
{
await DisplayAlert("materia", , "ok");
}
}
else
{
errorLog.Text = "Ups No se pudo Conectar Al servidor";
}
答案 0 :(得分:0)
假设您对materias
类具有正确的定义,那么您的Items
引用将指向materias
对象的列表。这意味着以下行将不起作用,因为它试图在作为列表时访问materias
属性。
await DisplayAlert("mensaje", Items.nom, "ok");
如果要访问属性,请在while循环中访问它:
var Items = JsonConvert.DeserializeObject<List<materias>>(content);
// no need to check `content` because here you work with `Items` already
if (Items != null)
{
// Count will show you number of records deserilized
await DisplayAlert("mensaje", Items.Count, "ok");
foreach (var materia in Items)
{
await DisplayAlert("materia", materia.nom, "ok");
}
}