c# - 读取字典中的值
问题描述
我正在使用编辑器数据表并将数据从编辑器返回到控制器,并尝试从所谓的Dictionary<string,object>
. 任何人都可以建议这是如何完成的。我读到 Dictionary 需要进行 Json 反序列化,但不太确定它是如何完成的。我包括一张我试图阅读的价值观的图片。谢谢。在此处输入图像描述
我在控制器中读取了通过 e.Values 返回的数据:
editor.PostCreate += (sender, e) => t = Task.Run(() => Add(intContTpe, lngContIdx, e.Values));
internal static void Add(int intContTpe, long lngContIdx, object objPCEAValues)
{
Dictionary<string, object> dicVoDaCDRFormats = new Dictionary<string, object>();
if (!dicPCEAValues.ContainsKey("CustomerVoiceCLICDRFormats.0"))
{
dicVoDaCDRFormats = ((Dictionary<string, object>)dicPCEAValues["CustomerVoiceCLICDRFormats"]);
PrintToOutput("", ((Dictionary<string, object>)dicPCEAValues["CustomerVoiceCLICDRFormats"])["0"]);
}
}
解决方案
中的每个值dicVoDaCDRFormats
都是它自己的字典。您还需要打开这些字典。
检查这是否为您提供了预期的结果。
foreach (KeyValuePair<string, object> items in dicVoDaCDRFormats)
{
if (items.Value is Dictionary<string, object> innerDict)
foreach (var item in innerDict)
PrintToOutput("", items.Value);
}
这种类型的工作object
是不安全的。is
您可以使用andas
关键字为其他部分添加类型检查以确保安全。但这取决于您正在处理的情况。
推荐阅读
- vue.js - 将新的迭代数据传递给 props Vue.js
- html - CSS如何阻止渲染?
- javascript - 为什么 .then 在 jasmine 中测试时不是一个函数
- python - 如何在python中删除一个空行
- javascript - 使用多文件上传发送数据
- python-3.x - 在 Python 中使用 OpenCV 扫描 OMR 表
- javascript - 获取 Mongoose UpdateMany 受影响文档的数量
- jena - 对于在 Protege 中创建的本体,如何将模糊推理器与 jena 包括在内?
- celery - 气流是否使用芹菜节拍
- python - 是否有 Django 内置的注册视图?