我嘗試序列化/反序列化下面的類對象:最佳方式嗎?
public class LiveDataFeedModuleConfiguration
{
public Dictionary<VendorID, dynamic> LiveDataFeedAPIConfigurations { get; private set; }
public LiveDataFeedModuleConfiguration(Dictionary<VendorID, dynamic> liveDataFeedAPIConfigurations)
{
this.LiveDataFeedAPIConfigurations = liveDataFeedAPIConfigurations;
}
public void AddElement(VendorID vendorId, dynamic liveDataFeedAPIConfiguration)
{
LiveDataFeedAPIConfigurations.Add(vendorId, liveDataFeedAPIConfiguration);
}
}
我試圖ServiceStack但是當我反序列化存儲爲字典中的值的動態對象是空的。我也嘗試過Json.Net,但我不喜歡反序列化後的字典包含JObjects。我只是想有LiveDataFeedModuleConfiguration
類型的對象返回包含Dictionary<VendorID, dynamic>
在那裏我可以很容易的.Net投從動態tytpe到知對象類型。在Json.net中有沒有辦法繞過JObject「混亂」,並正確地反序列化爲存儲在字典值中的類型?我用Newtonsoft.Json.JsonConvert.DeserializeObject<LiveDataFeedModuleConfiguration>(string jsonContent);
。但它將反序列化爲不需要的jObject類型的字典值。
任何解決方案應該得到這個與json.net工作(給定的,我可以在一個通用的反序列化方法做正確的序列化)或其他庫的歡迎。
感謝
它並不像你在這方面取得了很大的成功。您可能需要從頭開始創建此功能或避免使用字典,並完全避免此問題。當你有一個解決方案時,請在這裏回覆 – ldgorman 2013-05-01 12:22:33
@Idogorman,的確,我確信大多數.Net JSON序列化程序庫庫處理動態性的能力很差。我決定逐個序列化每個POCO,而不是將它們存儲在動態字典中。 – 2013-05-01 13:58:10