如何使用 ServiceStack JsonSerializer 序列化 Hashtable?
Posted
技术标签:
【中文标题】如何使用 ServiceStack JsonSerializer 序列化 Hashtable?【英文标题】:How to Serialize Hashtable with ServiceStack JsonSerializer? 【发布时间】: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,这不是很有建设性,我觉得它居高临下。问题是“如何……”,而不是“我应该怎么做?” 【参考方案1】:NuGet 上的最新版ServiceStack.Text (v3.9.11+) 现在包括对 Hashtable 的支持。
【讨论】:
以上是关于如何使用 ServiceStack JsonSerializer 序列化 Hashtable?的主要内容,如果未能解决你的问题,请参考以下文章
如何修改 ServiceStack.OrmLite 生成的 SQL?
使用 JSON 时如何让 ServiceStack 用破折号格式化 Guid?