c# - 使用 JSON.NET 反序列化 JSON 字符串

标签 c# json json.net

我正在尝试反序列化以下 JSON 字符串,以便我可以捕获 a 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
  }
}

JSolint 说这是有效的 JSon 数据,但是我应该在 C# 中创建什么样的类来使用 JSON.NET JsonConverter 来反序列化它?

我将获得更多这样的数据,并且 key 会有所不同(当前显示为“2012-11-26 20:34:12”),这是让我感到困惑的部分。

任何让我开始的示例代码将不胜感激

最佳答案

你不需要任何类(class)

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"];

关于c# - 使用 JSON.NET 反序列化 JSON 字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13588185/

相关文章:

c# - 如何从 asp.net 核心服务访问 DbContext

c# - WPF 标签上的外发光效果和旋转

c# - 如何在 asp.net c# html 中显示文本之间的空格

JAVA - 正则表达式模式不匹配。 regex101.com 中的匹配项

Jquery如何从复杂的JSON字符串中获取信息

javascript - 如何将日期数组的字符串表示形式转换为数组 JS?

c# - 使用 Json.net C# 反序列化 json - 标识符中的空格

json - Swift:将 JSON 数组中的每个项目拆分为单个文件

c# - 如何比较两个忽略 C# 中某些键的 JSON?

c# - JSON.NET 将实现 IDictionary<TKey, TValue> 的对象反序列化为字典,如何强制常规类序列化?