DataContractJsonSerializer使用其他数据/未知类型进行反序列化

时间:2012-11-14 18:07:24

标签: c# json serialization

我正在尝试将Json字符串反序列化为c#对象。但是,Json数据可以包含需要反序列化为对象中字符串字典的其他数据。

实现这一目标的最有效方法是什么?

我使用过IExtensibleDataObject,但它只是将附加数据存储在我无法读取的ExtensionDataObject中。还有其他选择吗?

以下示例:

当dataContractJsonSerializer遇到Json字符串中的未知数据时,它应该转到AdditionalData属性。

Class Person
{
   public string Name {get;set;}
   public int Age {get;set;}

   //This should catch any other data in JSON, that is not strictly defined.
   public Dictionary<string,string> AdditionalData {get;set;}
}

Json示例:

{"Name" : "John". "Age" : "33" }
{"Name" : "John". "Age" : "33","Address" : "somecity" }
{"Name" : "John". "Age" : "33","Address" : "somecity","Gender" : "M" }

0 个答案:

没有答案