【发布时间】:2019-12-16 12:58:54
【问题描述】:
所以我已经为自己开始了一个项目,我正在使用 AlphaVantage API(https://www.alphavantage.co/documentation/) 但是我遇到了一个问题,他们返回一个大致如下结构的对象:
{[Meta Data, {{
"1. Information": "Weekly Prices (open, high, low, close) and Volumes",
"2. Symbol": "ko",
"3. Last Refreshed": "2019-12-13",
"4. Time Zone": "US/Eastern"
}}]}
{[Weekly Time Series, {{
"2019-12-13": {
"1. open": "54.3000",
"2. high": "54.5500",
"3. low": "53.6600",
"4. close": "54.4200",
"5. volume": "54644469"
},
"2019-12-13": {
"1. open": "54.3000",
"2. high": "54.5500",
"3. low": "53.6600",
"4. close": "54.4200",
"5. volume": "54644469"
}
}}]}
这将被构造为两个独立的对象,如下所示:
public class MetaData
{
public string Information { get; set; }
public string Symbol { get; set; }
public DateTime LastRefresh { get; set; }
public String TimeZone { get; set; }
}
public class Data
{
public List<ValueData> entry { get; set; }
}
public class ValueData
{
public DateTime Date { get; set; }
public decimal Open { get; set; }
public decimal High { get; set; }
public decimal Low { get; set; }
public decimal Close { get; set; }
public int Volume { get; set; }
}
我的问题是反序列化的最佳做法是什么?我尝试只对一个对象类型这样做,并用调试器检查它,它包含 2 个独立的结构。
【问题讨论】:
-
这是有效的 Json 吗?
-
不,不是@geo
-
但似乎 OP 有一个复制/粘贴错误,调用 alphavantage.co/… 显示我有效的 Json
-
@MindSwipe 是的。那么这不能反序列化。 bailey-dunn 共享一个有效的 JSON。
-
作为替代方案,似乎有一个现成可用的库:github.com/LutsenkoKirill/AlphaVantage.Net(未测试)
标签: c# json json-deserialization