例如,有一个像下一个这样的对象:
public class Container
{
public object Data { get; set; }
}
它是这样使用的:
Container container = new Container
{
Data = new Dictionary<string, object> { { "Text", "Hello world" } }
};
如果我反序列化通过序列化上述实例获得的 JSON 字符串Data
,即使我提供了属性,ExpandoObjectConverter
它也不会反序列化为ExpandoObject
:
Container container = JsonConvert.Deserialize<Container>(jsonText, new ExpandoObjectConverter());
如何反序列化分配有匿名对象的类属性,或者至少不将具体类型作为ExpandoObject
?
编辑:
有人回答说我可以只使用动态对象。这对我不起作用。我知道我可以这样做,但事实并非如此,因为我需要一个 ExpandoObject。谢谢。
编辑2:
其他一些用户回答我可以将 JSON 字符串反序列化为ExpandoObject
. 这不是这个问题的目标。我需要反序列化具有动态属性的具体类型。在 JSON 字符串中,此属性可以是关联数组。