使用字典处理 C# 中的动态 JSON 键
JSON 数据在处理不可预测的键时通常会带来挑战。 本文重点介绍一个常见场景:包含动态、基于时间戳的密钥的静态根密钥(本例中为“每日”)。 解决方案涉及使用字典进行灵活的反序列化。
这是一个强大的方法:
利用字典实现灵活性: 使用 Dictionary<string, object>
来容纳动态键,而不是创建严格的类结构。这允许在运行时无缝处理未知密钥。
使用 JavaScriptSerializer
反序列化: 利用 JavaScriptSerializer
类将 JSON 字符串解析为字典。 下面的代码演示了这一点:
<code class="language-csharp"> var deserializer = new JavaScriptSerializer(); var dictionary = deserializer.Deserialize<Dictionary<string, object>>(json);</code>
访问嵌套字典:动态键嵌套在“daily”键下。 使用以下命令提取此嵌套字典:
<code class="language-csharp"> var dailyData = dictionary["daily"] as Dictionary<string, object>;</code>
迭代和访问数据:最后,迭代 dailyData
字典以访问动态时间戳及其关联值:
<code class="language-csharp"> foreach (var kvp in dailyData) { string timestamp = kvp.Key; object value = kvp.Value; Console.WriteLine($"{timestamp}: {value}"); }</code>
该方法提供了一种灵活高效的方式来处理具有动态键的 JSON,确保轻松访问底层数据,而无需事先了解键结构。
以上是如何使用字典在 C# 中使用动态键反序列化 JSON?的详细内容。更多信息请关注PHP中文网其他相关文章!