使用JSON.NET反序列化JSon字符串

时间:2012-11-27 16:04:14

标签: c# json json.net

我正在尝试反序列化以下JSon字符串,以便我可以捕获b c d中的值...

{
   "2012-11-26 20:34:12": {
    "a": 65,
    "b": -1,
    "c": "2012-11-26 20:34:12",
    "d": -1,
    "e": 0,
    "f": -112.3211156215747,
    "g": 33.57955864376957
  }
}

JSonlint说这是有效的JSon数据,但我会在C#中创建什么类来使用JSON.NET JsonConverter对其进行反序列化?

我将获得更多这样的数据,密钥会有所不同(目前显示为“2012-11-26 20:34:12”),这是令我困惑的部分。

非常感谢任何让我入门的示例代码

1 个答案:

答案 0 :(得分:4)

您不需要任何课程

var obj = (JObject)JsonConvert.DeserializeObject(json);

var dict = obj.First.First.Children().Cast<JProperty>()
            .ToDictionary(p => p.Name, p =>p.Value);

var dt =  (string)dict["c"];
var d = (double)dict["g"];