尝试用 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 必须是新的数据网格视图。