C#的Dictionary字典怎么序列化成JSON模式,以及如何调用

Teln_小凯 2012-08-13 10:17:32
下面是我获取的的一个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的数据类型


问题如题
...全文
1718 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
杰拉尔 2012-08-13
  • 打赏
  • 举报
回复
将他转成LIST就可以了 dic.ToList()
jdc71264 2012-08-13
  • 打赏
  • 举报
回复
字典也是可以的,和集合一样
jdc71264 2012-08-13
  • 打赏
  • 举报
回复
示例代码

[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());
}
}

62,041

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧