C# 将统一数组从JSON反序列化为实类型

C# 将统一数组从JSON反序列化为实类型,c#,json,json.net,C#,Json,Json.net,我需要将JSON字符串解析为: private Dictionary<string, dynamic> dict = new Dictionary<string, dynamic>(); private Dictionary dict=new Dictionary(); 其中,值是受限制的数字数组(所有ints或doubles(甚至dicts但不混合)和其他类似的dicts(递归) 我可以使用Newtonsoft解析dict,但我将数组作为Object[]而不是int

我需要将JSON字符串解析为:

private Dictionary<string, dynamic> dict = new Dictionary<string, dynamic>();
private Dictionary dict=new Dictionary();
其中,值是受限制的数字数组(所有
int
s或
double
s(甚至
dict
s但不混合)和其他类似的
dict
s(递归)

我可以使用Newtonsoft解析
dict
,但我将数组作为
Object[]
而不是
int[]
double[,]
。我正在使用我自己的
序列化程序
列表
扩展对象转换器创建到
Object[]


我确实对我的信息做了更多的假设,那么如何做到这一点呢?

像这样吗?
ExpandoObjectConverter
实现看起来像是在创建
列表
,而不是
对象[]
你说你得到了。你真的得到了一个不同的类型,你真的使用了另一个
ExpandoObjectConverter
类,还是我误读了它的功能?@FurkanKambay。数组可以是多维的,可能有
dict
s(同样,所有
dict
s都没有其他类型)@hvd我正在使用我自己的版本,将
List
转换为
object[]
,其余的都是一样的。很抱歉没有提到这一点。@galah92如果你已经有自定义代码将
List
转换为
object[]
,将其修改为
int[]
double[]
,这取决于你得到的值,似乎微不足道。如果所有值都是
int
类型,则转换为
int[]
。如果所有值都是
double
,则转换为
double[]
。否则(你说永远不会发生),抛出异常以表示输入错误。这是您遇到问题的部分,还是遗漏了一些重要案例?