尝试用 JSON 中的值填充 C# 中的 Datagridview,但我只填充了 1 个单元格
Trying to fill a Datagridview in C# with values from a JSON but i only get 1 cell fill
我正在开发一个 API 发送给我这个 JSON:
{
"cuentas": [
{
"numero": "1234",
"tipo": "inversion",
"moneda": "peso",
"disponible": 12345,
"comprometido": 0.00,
"saldo": 12345,
"titulosValorizados": 12345,
"total": 12345,
"margenDescubierto": 12345,
"saldos": [
{
"liquidacion": "inmediato",
"saldo": 12345,
"comprometido": 0.00,
"disponible": 123,
"disponibleOperar": 123
},
{
"liquidacion": "hrs24",
"saldo": 0.00,
"comprometido": 0.00,
"disponible": 0.00,
"disponibleOperar": 123
},
{
"liquidacion": "hrs48",
"saldo": 0.00,
"comprometido": 0.00,
"disponible": 0.00,
"disponibleOperar": 123
},
{
"liquidacion": "hrs72",
"saldo": 0.00,
"comprometido": 0.00,
"disponible": 0.00,
"disponibleOperar": 123
},
{
"liquidacion": "masHrs72",
"saldo": 0.00,
"comprometido": 0.00,
"disponible": 0.00,
"disponibleOperar": 0.0
}
],
"estado": "operable"
},
{
"numero": "123",
"tipo": "inversion",
"moneda": "dolar",
"disponible": 0.68,
"comprometido": 0.00,
"saldo": 0.68,
"titulosValorizados": 123,
"total": 123,
"margenDescubierto": 0.0,
"saldos": [
{
"liquidacion": "inmediato",
"saldo": 0.68,
"comprometido": 0.00,
"disponible": 0.68,
"disponibleOperar": 0.68
},
{
"liquidacion": "hrs24",
"saldo": 0.00,
"comprometido": 0.00,
"disponible": 0.00,
"disponibleOperar": 0.68
},
{
"liquidacion": "hrs48",
"saldo": 0.00,
"comprometido": 0.00,
"disponible": 0.00,
"disponibleOperar": 0.68
},
{
"liquidacion": "hrs72",
"saldo": 0.00,
"comprometido": 0.00,
"disponible": 0.00,
"disponibleOperar": 0.68
},
{
"liquidacion": "masHrs72",
"saldo": 0.00,
"comprometido": 0.00,
"disponible": 0.00,
"disponibleOperar": 0.0
}
],
"estado": "operable"
}
],
"estadisticas": [
{
"descripcion": "Anterior",
"cantidad": 123,
"volumen": 123
},
{
"descripcion": "Actual",
"cantidad": 6,
"volumen": 123.80
}
],
"totalEnPesos": 123.123
}
然后我有这些 类 可以使用:
public partial class LecturaJson
{
public Cuenta[] Cuentas { get; set; }
public Estadistica[] Estadisticas { get; set; }
public double TotalEnPesos { get; set; }
}
public partial class Cuenta
{
public long Numero { get; set; }
public string Tipo { get; set; }
public string Moneda { get; set; }
public double Disponible { get; set; }
public long Comprometido { get; set; }
public double Saldo { get; set; }
public double TitulosValorizados { get; set; }
public double Total { get; set; }
public long MargenDescubierto { get; set; }
public Saldo[] Saldos { get; set; }
public string Estado { get; set; }
}
public partial class Saldo
{
public string Liquidacion { get; set; }
public double SaldoSaldo { get; set; }
public long Comprometido { get; set; }
public double Disponible { get; set; }
public double DisponibleOperar { get; set; }
}
public partial class Estadistica
{
public string Descripcion { get; set; }
public long Cantidad { get; set; }
public double Volumen { get; set; }
}
然后我使用此代码获取 JSON
var response =GetResponseGET(sURL + "/api/v2/estadocuenta", bearer);
然后我添加 [] 使其可反序列化
response = "[" +response+ "]";
然后我反序列化:
var s = JsonConvert.DeserializeObject<List<LecturaJson>>(response);
然后尝试填充数据网格视图:
dtgvedc.DataSource = s;
问题是 de DATAGRID dtgedc(在最后一行代码中)只填满了 1 个单元格...没有别的...
一些值是由新的键值组形成的新列表
所以它不是一本普通的字典。
API 结果 (LecturaJson) 是根 class。 API 结果不是数组。调试有助于查看那里发生了什么。数组对象(Cuentas 或 Estadisticas )可以设置为 Datagridsources。
此代码更改对数组的响应。
response = "[" +response+ "]";
如果删除了之前的代码,可以不用“List”来改。
var s = JsonConvert.DeserializeObject<LecturaJson>(response);
dtgvedc.DataSource = s.Lectures;
dtgvedc2.DataSource = s.Cuentas;
dtgvedc2 必须是新的数据网格视图。
我正在开发一个 API 发送给我这个 JSON:
{
"cuentas": [
{
"numero": "1234",
"tipo": "inversion",
"moneda": "peso",
"disponible": 12345,
"comprometido": 0.00,
"saldo": 12345,
"titulosValorizados": 12345,
"total": 12345,
"margenDescubierto": 12345,
"saldos": [
{
"liquidacion": "inmediato",
"saldo": 12345,
"comprometido": 0.00,
"disponible": 123,
"disponibleOperar": 123
},
{
"liquidacion": "hrs24",
"saldo": 0.00,
"comprometido": 0.00,
"disponible": 0.00,
"disponibleOperar": 123
},
{
"liquidacion": "hrs48",
"saldo": 0.00,
"comprometido": 0.00,
"disponible": 0.00,
"disponibleOperar": 123
},
{
"liquidacion": "hrs72",
"saldo": 0.00,
"comprometido": 0.00,
"disponible": 0.00,
"disponibleOperar": 123
},
{
"liquidacion": "masHrs72",
"saldo": 0.00,
"comprometido": 0.00,
"disponible": 0.00,
"disponibleOperar": 0.0
}
],
"estado": "operable"
},
{
"numero": "123",
"tipo": "inversion",
"moneda": "dolar",
"disponible": 0.68,
"comprometido": 0.00,
"saldo": 0.68,
"titulosValorizados": 123,
"total": 123,
"margenDescubierto": 0.0,
"saldos": [
{
"liquidacion": "inmediato",
"saldo": 0.68,
"comprometido": 0.00,
"disponible": 0.68,
"disponibleOperar": 0.68
},
{
"liquidacion": "hrs24",
"saldo": 0.00,
"comprometido": 0.00,
"disponible": 0.00,
"disponibleOperar": 0.68
},
{
"liquidacion": "hrs48",
"saldo": 0.00,
"comprometido": 0.00,
"disponible": 0.00,
"disponibleOperar": 0.68
},
{
"liquidacion": "hrs72",
"saldo": 0.00,
"comprometido": 0.00,
"disponible": 0.00,
"disponibleOperar": 0.68
},
{
"liquidacion": "masHrs72",
"saldo": 0.00,
"comprometido": 0.00,
"disponible": 0.00,
"disponibleOperar": 0.0
}
],
"estado": "operable"
}
],
"estadisticas": [
{
"descripcion": "Anterior",
"cantidad": 123,
"volumen": 123
},
{
"descripcion": "Actual",
"cantidad": 6,
"volumen": 123.80
}
],
"totalEnPesos": 123.123
}
然后我有这些 类 可以使用:
public partial class LecturaJson
{
public Cuenta[] Cuentas { get; set; }
public Estadistica[] Estadisticas { get; set; }
public double TotalEnPesos { get; set; }
}
public partial class Cuenta
{
public long Numero { get; set; }
public string Tipo { get; set; }
public string Moneda { get; set; }
public double Disponible { get; set; }
public long Comprometido { get; set; }
public double Saldo { get; set; }
public double TitulosValorizados { get; set; }
public double Total { get; set; }
public long MargenDescubierto { get; set; }
public Saldo[] Saldos { get; set; }
public string Estado { get; set; }
}
public partial class Saldo
{
public string Liquidacion { get; set; }
public double SaldoSaldo { get; set; }
public long Comprometido { get; set; }
public double Disponible { get; set; }
public double DisponibleOperar { get; set; }
}
public partial class Estadistica
{
public string Descripcion { get; set; }
public long Cantidad { get; set; }
public double Volumen { get; set; }
}
然后我使用此代码获取 JSON
var response =GetResponseGET(sURL + "/api/v2/estadocuenta", bearer);
然后我添加 [] 使其可反序列化
response = "[" +response+ "]";
然后我反序列化:
var s = JsonConvert.DeserializeObject<List<LecturaJson>>(response);
然后尝试填充数据网格视图:
dtgvedc.DataSource = s;
问题是 de DATAGRID dtgedc(在最后一行代码中)只填满了 1 个单元格...没有别的...
一些值是由新的键值组形成的新列表
所以它不是一本普通的字典。
API 结果 (LecturaJson) 是根 class。 API 结果不是数组。调试有助于查看那里发生了什么。数组对象(Cuentas 或 Estadisticas )可以设置为 Datagridsources。
此代码更改对数组的响应。
response = "[" +response+ "]";
如果删除了之前的代码,可以不用“List”来改。
var s = JsonConvert.DeserializeObject<LecturaJson>(response);
dtgvedc.DataSource = s.Lectures;
dtgvedc2.DataSource = s.Cuentas;
dtgvedc2 必须是新的数据网格视图。