首页 > 后端开发 > C++ > 如何以数字ID作为键创建JSON的强烈键入C#对象?

如何以数字ID作为键创建JSON的强烈键入C#对象?

DDD
发布: 2025-01-30 00:17:09
原创
847 人浏览过

How to Create Strongly Typed C# Objects from JSON with Numeric IDs as Keys?

从具有 ID 作为键的 JSON 对象创建强类型 C# 对象

当创建强类型 C# 对象时,处理具有数字键(例如 API 响应中的 ID)的 JSON 对象需要不同的方法。为了解决这个问题,请考虑对您的代码进行以下更改:

WebinarPerformanceStats 类

修改您的 WebinarPerformanceStats 类,使用字典而不是列表来捕获会话统计信息:

1

2

3

4

public class WebinarPerformanceStats

{

    public Dictionary<string, SessionPerformanceStats> Stats { get; set; }

}

登录后复制

在这个字典中,键将表示会话 ID(在本例中为“5234592”和“5235291”)。

反序列化

要反序列化 JSON 响应,请将您之前的代码行替换为以下内容:

1

var stats = JsonConvert.DeserializeObject<WebinarPerformanceStats>(theJsonResponse);

登录后复制

这会将 JSON 对象反序列化为一个 WebinarPerformanceStats 实例,其中包含一个 Stats 字典,该字典包含通过其各自 ID 映射的会话统计信息。

访问会话统计信息

要访问特定 ID 的会话统计信息,您可以使用字典语法:

1

var sessionStats = stats.Stats["5234592"];

登录后复制

这将检索与会话 ID“5234592”关联的 SessionPerformanceStats 对象。然后,您可以访问此对象的属性以获取该特定会话的投票和调查或出席统计信息。

注意:

如果您确定 ID 将始终为数字,您可以将 WebinarPerformanceStats 类中的键类型修改为 long 或 int 以提高类型安全性:

1

2

3

4

public class WebinarPerformanceStats

{

    public Dictionary<long, SessionPerformanceStats> Stats { get; set; }

}

登录后复制

以上是如何以数字ID作为键创建JSON的强烈键入C#对象?的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板