2012-09-14 41 views
2

我試圖用ServiceStack JsonSerializer序列化一個Hashtable。不像Json.Net和內置的JavaScriptSerializer,但是,它返回類型名稱DictionaryEntry而不是值。如何使用ServiceStack JsonSerializer序列化哈希表?

此代碼:

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"] 

難道我做錯了什麼?

+1

a)不要使用ServiceStack的JsonSerializer或b)不要使用Hashtable –

+2

@ L.B,這不是很有建設性,我覺得它居高臨下。問題是「如何...」,而不是「我該怎麼做?」 –

回答