如何从C#中的API动态反序列化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

如果数据具有字符串关键字名称,如何将生成的json数据转换为模型

Json数据

{
    "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)非常相似或重复:和。我没有模型。我只需要反序列化这些数据并将其推送到数据库中。根据日期。