下面是我获取的的一个Dictionary对象
 public Dictionary<int, dynamic> GetCatalogTree() {
    Dictionary<int, dynamic> dic = new Dictionary<int, dynamic>();
      foreach (CatalogEntity catalog in CatalogViewModel.GetCatalogs()) {
        dynamic d = new ExpandoObject();
        d.title = catalog.Title;
        List<KeyValuePair<int,string>> list=new List<KeyValuePair<int,string>>();
        this.CatalogId=catalog.CatalogId;
        foreach (Catalog subCatalog in GetSubCatalogList()) {
          KeyValuePair<int, string> kvp = new KeyValuePair<int, string(subCatalog.CatalogId,subCatalog.Title);
             list.Add(kvp);
        }
        d.list = list;
        dic.Add(catalog.CatalogId, d);
     }
            return dic;
}
这里面的字典K是一个int类型,V是一个动态类型dynamic,dynamic里面的属性有一个string title和一个List集合,
list集合里面存的是一个KVP的数据类型
问题如题

解决方案 »

  1.   

    示例代码        [WebMethod]
            public string GetAllUnit()
            {
                List<string> data = tools.GetAllUnit();
                //List<string> data = new List<string>();
                //data.Add("七天");
                DataContractJsonSerializer serializer = new DataContractJsonSerializer(data.GetType());
                using (MemoryStream ms = new MemoryStream())
                {
                    serializer.WriteObject(ms, data);
                    return System.Text.Encoding.UTF8.GetString(ms.ToArray());
                }
            }
      

  2.   

    将他转成LIST就可以了 dic.ToList()