如何从C#中的API动态反序列化json结果?
如果数据具有字符串关键字名称,如何将生成的json数据转换为模型 Json数据如何从C#中的API动态反序列化json结果?,c#,json,C#,Json,如果数据具有字符串关键字名称,如何将生成的json数据转换为模型 Json数据 { "Meta Data": { "1. Information": "Intraday (5min) open, high, low, close prices and volume", "2. Symbol": "IBM", "3. Last Ref
{
"Meta Data": {
"1. Information": "Intraday (5min) open, high, low, close prices and volume",
"2. Symbol": "IBM",
"3. Last Refreshed": "2020-06-30 12:50:00",
"4. Interval": "5min",
"5. Output Size": "Compact",
"6. Time Zone": "US/Eastern"
},
"Time Series (5min)": {
"2020-06-30 12:50:00": {
"1. open": "119.7600",
"2. high": "119.7600",
"3. low": "119.5300",
"4. close": "119.6300",
"5. volume": "22938"
},
"2020-06-30 12:45:00": {
"1. open": "120.0500",
"2. high": "120.0600",
"3. low": "119.7400",
"4. close": "119.7900",
"5. volume": "19170"
},
}
我需要将这些数据映射到模型。请帮助我。您是否已经有了需要反序列化的模型?或者你想知道用什么制作模型 如果您已经拥有了该模型,那么会有很多选项浮动,这些选项很容易被标记为模型的副本 但是,如果您不确定需要什么类型的模型,如果您使用的是Newtonsoft.JSON库,则可以使用JsonProperty属性,如下所示:
public class DataType
{
[JsonProperty("Meta Data")]
public MetaDataType MetaData;
[JsonProperty("Time Series (5min)")]
public Dictionary<DateTime, TimeSeriesType> TimeSeries;
}
public class MetaDataType{
[JsonProperty("1. Information")]
public string Information;
[JsonProperty("2. Symbol")]
public string Symbol;
... etc ...
}
public class TimeSeriesType> {
[JsonProperty("1. open")]
public string Open;
[JsonProperty("2. high")]
public string High;
... etc ...
}
公共类数据类型
{
[JsonProperty(“元数据”)]
公共元数据类型元数据;
[JsonProperty(“时间序列(5分钟)”)]
公共词典时间序列;
}
公共类元数据类型{
[JsonProperty(“1.信息”)]
公共字符串信息;
[JsonProperty(“2.符号”)]
公共字符串符号;
等
}
公共类时间体验PE>{
[JsonProperty(“1.open”)]
公开字符串打开;
[JsonProperty(“2.高”)]
公共弦高;
等
}
请原谅语法有点错误,我在记事本上写的。旁注-JSON格式非常糟糕,这些都是非常糟糕的字段名。我从API获得了这些数据,我只是尝试使用dynamic data=JsonConvert.Deserialize(JSON)非常相似或重复:和。我没有模型。我只需要反序列化这些数据并将其推送到数据库中。根据日期。