I’m trying to serialize a Hashtable with ServiceStack JsonSerializer. Unlike Json.Net and built-in JavaScriptSerializer, however, it returns type names of DictionaryEntry instead of values.
This code:
Hashtable h = new Hashtable(){ { "A", 1 }, { "B", 2 } };
Console.WriteLine(JsonConvert.SerializeObject(h));
Console.WriteLine(new JavaScriptSerializer().Serialize(h));
Console.WriteLine(ServiceStack.Text.JsonSerializer.SerializeToString(h, typeof(Hashtable)));
Returns this:
{"A":1,"B":2}
{"A":1,"B":2}
["System.Collections.DictionaryEntry","System.Collections.DictionaryEntry"]
Am I doing something wrong?
The latest version of ServiceStack.Text (v3.9.11+) on NuGet now includes support for Hashtable.