C# 如何反序列化以日期为键的复杂JSON#

C# 如何反序列化以日期为键的复杂JSON#,c#,json,json.net,C#,Json,Json.net,我要放弃这个了。 我需要反序列化以下Json: json = "{ "2018-05-21": { "lastUpdate": "2018-05-21 01:00:05", "stops": [ { "stopId": 1838, "stopCode": "02" }, { "stopId": 1839, "stopCode":

我要放弃这个了。 我需要反序列化以下Json:

json = "{
      "2018-05-21": {
        "lastUpdate": "2018-05-21 01:00:05",
        "stops": [
          {
            "stopId": 1838,
            "stopCode": "02"
    }, {
            "stopId": 1839,
            "stopCode": "08"
    }]}}";

var deserialized = JsonConvert.DeserializeObject<StopDate>(json); // null
问题是反序列化的变量为null


除了名字等方面的整体丑陋之外,我希望它能够启动并运行,只是为了一个好的开始。感谢所有帮助。

将JSON转换为
字典


您可能希望将
LastUpdate
设置为
DateTime
,而不是
字符串
(如评论员建议的那样)


您可能希望将LastUpdate设置为日期时间,而不是字符串。@Nkosi,您的解决方案棒极了!非常感谢!谢谢你们两位的提示。
public class StopDate
{
    public BusStop date { get; set; }
}
public class BusStop
{
    public string LastUpdate { get; set; }
    public Stop[] Stops { get; set; }
}
public class Stop
{
    public int StopId { get; set; }
    public string StopName { get; set; }
}
var deserialized = JsonConvert.DeserializeObject<Dictionary<DateTime, BusStop>>(json);
var deserialized = JsonConvert.DeserializeObject<Dictionary<string, BusStop>>(json);
BusStop busStop = deserialized["2018-05-21"];
public class BusStop {
    public DateTime LastUpdate { get; set; }
    public Stop[] Stops { get; set; }
}

public class Stop {
    public int StopId { get; set; }
    [JsonProperty("stopCode")]
    public string StopName { get; set; }
}