C# 将统一数组从JSON反序列化为实类型
我需要将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
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[]
。否则(你说永远不会发生),抛出异常以表示输入错误。这是您遇到问题的部分,还是遗漏了一些重要案例?