为了账号安全,请及时绑定邮箱和手机立即绑定

有多个键时将 JSON 映射到 C# 类

有多个键时将 JSON 映射到 C# 类

C#
Helenr 2022-06-12 11:18:58
我目前正在尝试解析从 IEX api 返回的 JSON 数据,其中包含股票及其信息。我遇到的问题是,根据您请求返回的键更改为该符号的股票/符号(即 AAPL、GOOGL 等)。返回的 JSON 示例见此处:https ://api.iextrading.com/1.0/stock/market/batch?symbols=aapl,fb,googl&types=quote,chart&range=1m为了反序列化,我使用 JSON.NET 和以下类:public class Stock  {    public quote Quote { get; set;}    public chart Chart { get; set;}}public class Root {    public Stock[] Stock;}然后我还有报价和图表对象的类。然后我使用以下方法反序列化 JSON:var stocks =  JsonConvert.DeserializeObject<Root>(jsonstring);但是,这不起作用,但是在将“Stock”类重命名为符号名称之一时确实有效,但是只有该符号 JSON 被解析。我不知道这里发生了什么,所以非常感谢任何帮助!
查看完整描述

1 回答

?
翻翻过去那场雪

TA贡献2065条经验 获得超14个赞

您的问题是您的类模型与 API 输出的 json 模式不匹配。输出不是股票列表,而是 StockName 的映射:股票

您可以将其反序列化为 aDictionary<string, Stock>而不是 a Root,这样您就可以到达需要的位置。


查看完整回答
反对 回复 2022-06-12
  • 1 回答
  • 0 关注
  • 87 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信