.net 将JSON数组反序列化(解析)为对象的System.array
下面的代码显示JSON.NET将数组反序列化为.net 将JSON数组反序列化(解析)为对象的System.array,.net,json,json.net,.net,Json,Json.net,下面的代码显示JSON.NET将数组反序列化为List,但我希望改为object[]。可能吗 > ((dynamic)JsonConvert.DeserializeObject<ExpandoObject>("{ \"foo\": 1, bar: [5, 6] }")).bar.GetType().FullName "System.Collections.Generic.List`1[[System.Object, mscorlib, Version=4.0.0.0, Cult
List
,但我希望改为object[]
。可能吗
> ((dynamic)JsonConvert.DeserializeObject<ExpandoObject>("{ \"foo\": 1, bar: [5, 6] }")).bar.GetType().FullName
"System.Collections.Generic.List`1[[System.Object, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]"
>((动态)JsonConvert.DeserializeObject(“{\“foo\”:1,bar:[5,6]}”)).bar.GetType().FullName
“System.Collections.Generic.List`1[[System.Object,mscorlib,Version=4.0.0.0,Culture=neutral,PublicKeyToken=b77a5c561934e089]”
您可以使用.ToArray()返回的序列化对象上的代码>。或者,您可以使用尝试强制执行返回对象的类型。您可以创建自己的版本,用于构造数组而不是列表。只需执行返回list.ToArray()是的,您可以简单地使用ToArray()方法,或者出于某种特殊原因,您希望在一行中执行此操作(顺便说一句,看起来很糟糕),或者创建一个类,将bar
属性定义为object[]
,并反序列化为该属性,而不是ExpandoObject
。