索引到C#中任意嵌套的Dictionary/List结构中

本文关键字:Dictionary List 结构 嵌套 任意 索引 | 更新日期: 2023-09-27 18:20:02

我有一个Dictionary<string,object>结构,其中的值是字符串、嵌套的Dictionary<string,object>或这些嵌套字典的Lists。这个结构主要是一个临时区域,用于构建将被转换为JSON的内容。

不过,如果我想对该结构的内容做出断言,我就不能轻易地做类似的事情

foo["bar"][0]["baz"][1][2]["quux"] 

如果没有荒谬的类型转换,并且结构不是完全递归的,这样的解决方案(递归泛型类型)就不起作用。

这里的最佳选择是什么?

我应该看dynamic吗?我应该用匿名对象替换Dictionary实例吗
我应该看ExpandoObject吗?等等

索引到C#中任意嵌套的Dictionary/List结构中

由于您无论如何都要将其转换为Json,只需使用Json.NET,它可以让您开箱即用地执行foo["bar"][0]["baz"][1][2]["quux"],并具有其他不错的功能,如在准备将对象转换为格式正确的Json字符串时将其转换。