【发布时间】:2012-09-07 16:20:25
【问题描述】:
我正在尝试使用 ServiceStack JsonSerializer 序列化 Hashtable。然而,与 Json.Net 和内置 JavaScriptSerializer 不同,它返回类型名称 DictionaryEntry 而不是值。
这段代码:
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)));
返回这个:
{"A":1,"B":2}
{"A":1,"B":2}
["System.Collections.DictionaryEntry","System.Collections.DictionaryEntry"]
我做错了吗?
【问题讨论】:
-
a) 不要使用 ServiceStack 的 JsonSerializer 或 b) 不要使用 Hashtable
-
@L.B,这不是很有建设性,我觉得它居高临下。问题是“如何……”,而不是“我应该怎么做?”
标签: c# json hashtable servicestack