相关疑难解决方法(0)

Json序列化字典<Enum,Int32>的问题

每当我尝试序列化字典时,我都会得到异常:

System.ArgumentException: Type 
'System.Collections.Generic.Dictionary`2[[Foo.DictionarySerializationTest+TestEnum, Foo, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null],[System.Int32, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]'
is not supported for serialization/deserialization of a dictionary,
keys must be strings or object
Run Code Online (Sandbox Code Playgroud)

我的测试用例是:

public class DictionarySerializationTest
{
  public enum TestEnum { A, B, C }
  //tried with numbers, too: public enum TestEnum { A = 1, B = 2, C = 3 }

  public void SerializationTest()
  {
    Dictionary<TestEnum, Int32> data = new Dictionary<TestEnum, Int32>();

    data.Add(TestEnum.A, 1);
    data.Add(TestEnum.B, 2);
    data.Add(TestEnum.C, 3);

    JavaScriptSerializer serializer = new JavaScriptSerializer();
    String …
Run Code Online (Sandbox Code Playgroud)

c# serialization json dictionary

13
推荐指数
2
解决办法
1万
查看次数

标签 统计

c# ×1

dictionary ×1

json ×1

serialization ×1