我试图将字典序列化为JSON,并获得以下异常:
new JavaScriptSerializer().Serialize(mydict)`'System.Collections.Generic.Dictionary2[[System.UInt64, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.Nullable1[System.UInt64,mscorlib、Version=2.0.0.0、Culture=neutral、PublicKeyToken=b77a5c561934e089]、mscorlib、Version=2.0.0.0、Culture=neutral、PublicKeyToken=b77a5c561934e089]‘不支持字典的序列化/反序列化,键必须是字符串或对象。
有什么简单的方法吗?也许是通过LINQ或者其他一些比较简洁的东西把长龙转换成字符串呢?
发布于 2010-09-10 15:16:50
var dict = mapping.ToDictionary(item => item.Key.ToString(), item => item.Value.ToString());`这样就可以将任何Dictionary<K,V>转换为Dictionary<string,string>并进行序列化。
发布于 2015-09-16 12:52:33
使用NewtonSoft.Json而不是JavaScriptSerializer来解决这个问题:
Ex:
JsonConvert.SerializeObject(mydict);发布于 2011-06-01 11:18:45
blog http://dukelupus.wordpress.com/2011/05/04/asp-net-mvc-json-and-a-generic-dictionary/描述了一种扩展方法Dictionary ToJsonDictionary(这个字典输入)
https://stackoverflow.com/questions/3685732
复制相似问题