Dictionary复合键的WEB API序列化

时间:2016-04-18 09:14:38

标签: c# json dictionary serialization asp.net-web-api

我正在使用Web API服务。我的班级如下

public class MyClass
{
    public Dictionary<MyClass, List<MyClass>> MyDataDictionary { get; set; }
    public string Id { get; set; }
    public string Name { get; set; }

    public MyClass(string id, string name)
    {
        Id = id;
        Name = name;
    }
}

我遇到字典序列化 Key 的问题,它是复合类型 MyClass 。当WebAPI返回MyClass实例时,我看到该字典键未被序列化,而是其类型( MyNamespace.MyClass )存在。

MyClassObj.MyDataDictionary.Add(new MyClass("1", "Name1") , List);

始终列表已序列化。为什么不是Key Object,如何修复呢?

{  
   "Id":2,"Name":"Unknown",

   "MyDataDictionary":{  
      "*MyNamespace.MyClass*":[  
         {  
            "Id":2, "Name":"Th/Abd",
            "MyDataDictionary ":null
         }
      ]
   }
}

0 个答案:

没有答案