我正在构建一个C#应用程序以从Web API获取数据。 它连接到Web服务器...获取有关股票市场,产品,价格和帐户中剩余资金等的数据。我需要个性化所有这些信息,以便以后可以使用它来计算进入和退出的最佳时机。从市场(买卖股票)。
在那小小的介绍之后,我被困在尝试反序列化数据。
在对API的一个GET请求之后,我得到了以下JSON:
{
"cuentas": [
{
"numero": "xxxx",
"tipo": "aaaa",
"moneda": "bbbb",
"disponible": 407397.92,
"comprometido": 0.00,
"saldo": 407397.92,
"titulosValorizados": 0.0,
"total": 407397.92000,
"margenDescubierto": 0.0,
"saldos": [
{
"liquidacion": "inmediato",
"saldo": 407397.92,
"comprometido": 0.00,
"disponible": 407397.92,
"disponibleOperar": 407397.92
},
{
"liquidacion": "hrs24",
"saldo": 0.00,
"comprometido": 0.00,
"disponible": 0.00,
"disponibleOperar": 407397.92
},
{
"liquidacion": "hrs48",
"saldo": 0.00,
"comprometido": 0.00,
"disponible": 0.00,
"disponibleOperar": 407397.92
},
{
"liquidacion": "hrs72",
"saldo": 0.00,
"comprometido": 0.00,
"disponible": 0.00,
"disponibleOperar": 407397.92
},
{
"liquidacion": "masHrs72",
"saldo": 0.00,
"comprometido": 0.00,
"disponible": 0.00,
"disponibleOperar": 0.0
}
],
"estado": "operable"
},
{
"numero": "zzzz",
"tipo": "ccccc",
"moneda": "ddddd",
"disponible": 4574.25,
"comprometido": 0.00,
"saldo": 4574.25,
"titulosValorizados": 0.0,
"total": 4574.25,
"margenDescubierto": 0.0,
"saldos": [
{
"liquidacion": "inmediato",
"saldo": 4574.25,
"comprometido": 0.00,
"disponible": 4574.25,
"disponibleOperar": 4574.25
},
{
"liquidacion": "hrs24",
"saldo": 0.00,
"comprometido": 0.00,
"disponible": 0.00,
"disponibleOperar": 4574.25
},
{
"liquidacion": "hrs48",
"saldo": 0.00,
"comprometido": 0.00,
"disponible": 0.00,
"disponibleOperar": 4574.25
},
{
"liquidacion": "hrs72",
"saldo": 0.00,
"comprometido": 0.00,
"disponible": 0.00,
"disponibleOperar": 4574.25
},
{
"liquidacion": "masHrs72",
"saldo": 0.00,
"comprometido": 0.00,
"disponible": 0.00,
"disponibleOperar": 0.0
}
],
"estado": "operable"
}
],
"estadisticas": [
{
"descripcion": "Anterior",
"cantidad": 27,
"volumen": 1817447.95
},
{
"descripcion": "Actual",
"cantidad": 11,
"volumen": 564217.96
}
],
"totalEnPesos": 699006.3575000000
}
到目前为止,我做了什么:
1)我已经使用一个Web应用程序将JSON数据转换为我需要的类。而且我有这个:
namespace QuickType
{
using System;
using System.Collections.Generic;
using System.Globalization;
using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
public partial class Lecturajson
{
[JsonProperty("cuentas")]
public Cuenta[] Cuentas { get; set; }
[JsonProperty("estadisticas")]
public Estadistica[] Estadisticas { get; set; }
[JsonProperty("totalEnPesos")]
public double TotalEnPesos { get; set; }
}
public partial class Cuenta
{
[JsonProperty("numero")]
public string Numero { get; set; }
[JsonProperty("tipo")]
public string Tipo { get; set; }
[JsonProperty("moneda")]
public string Moneda { get; set; }
[JsonProperty("disponible")]
public double Disponible { get; set; }
[JsonProperty("comprometido")]
public long Comprometido { get; set; }
[JsonProperty("saldo")]
public double Saldo { get; set; }
[JsonProperty("titulosValorizados")]
public long TitulosValorizados { get; set; }
[JsonProperty("total")]
public double Total { get; set; }
[JsonProperty("margenDescubierto")]
public long MargenDescubierto { get; set; }
[JsonProperty("saldos")]
public Saldo[] Saldos { get; set; }
[JsonProperty("estado")]
public string Estado { get; set; }
}
public partial class Saldo
{
[JsonProperty("liquidacion")]
public string Liquidacion { get; set; }
[JsonProperty("saldo")]
public double SaldoSaldo { get; set; }
[JsonProperty("comprometido")]
public long Comprometido { get; set; }
[JsonProperty("disponible")]
public double Disponible { get; set; }
[JsonProperty("disponibleOperar")]
public double DisponibleOperar { get; set; }
}
public partial class Estadistica
{
[JsonProperty("descripcion")]
public string Descripcion { get; set; }
[JsonProperty("cantidad")]
public long Cantidad { get; set; }
[JsonProperty("volumen")]
public double Volumen { get; set; }
}
}
2)我在想类似的东西:(字符串“ raw”使JSON正常工作)
IRestResponse responseestadocuenta = clientestadocuenta.Execute(requestestadocuenta);
raw2 = Convert.ToString(responseestadocuenta.Content);
var obj = JsonConvert.DeserializeObject<Lecturajson>(raw);
var allOrders = obj.d.data.Orders;
3)没有3。我卡在“ 2”中。
额外的问题:这次,我有2个帐户(如果您查看JSON,则使用西班牙语的“ cuentas”帐户。这些帐户是“ numero”:“ xxxx”和“ numero”:“ zzzz”。但是下次用户可以获取更多如果他购买了更多商品,则说明...。因此JSON响应固定在其常规结构中,而不固定在“ cuentas”的数量中(“ numero”就像每个ID一样)
这里我的问题:
A)所有这些数据将在每秒左右刷新一次...尚不确定,我认为处理所有这些问题的最佳方法是将其存储到SQL DB中。你认为可以吗?请记住,此GET请求只是我的应用程序中可用的10或15个类似请求中的1个...只是为了说明它将处理的信息量。
B)我需要一些有关“ 2”中反序列化的帮助,因此它可以与我将所有这些存储在SQL DB中的想法兼容。
********************************** +
我乐于提供任何帮助,更正,想法和新知识。几周前,我开始使用C#,相信我,直到现在我都不敢相信。所以请原谅我要新手的东西。
非常感谢您的时间和耐心。