2012-01-12 136 views
1

我需要在.NET Compact Framework 2.0下序列化和反序列化自定義對象。我已經通過JSON.NET 3.5,但它需要.NET Compact Framework 3.5。.NET CompactFramework 2.0的JSON序列化程序

我被限制爲不能從2.0升級到3.5。當我嘗試使用版本JSON.Net 2.0時,Serialize和Deserialize操作掛起。

---Serialize----- 
List<string> strMessage = (JavaScriptConvert.DeserializeObject(results, typeof(List<string>)) as List<string>); 
-----Deserialize---- 
List<object> paramObject = new List<object>(paramCollection); 
      string postData = string.Empty; 

      if (paramObject.Count > 0) 
      { 
       postData = JavaScriptConvert.SerializeObject(paramObject); 
      } 

注:paramCollection是對象的數組(對象[])

有什麼問題在上面的代碼?我用Desktop測試過的一樣,我發現它工作,但不是在Compact Framework中。

回答

1

大約一年前,我面臨同樣的問題。 JSON,緊湊的框架,.NET 2

我結束了使用http://jsoncf.codeplex.com/

源頁我發現codebetter.com不包含此聲明:

Use it at your own risk - it’s very early in in development and poorly tested. 

整體來說,我發現它的工作原理;從內存來看,它並沒有很好地處理空值,我想我必須調整日期時間序列化來使其像其他json串行器一樣工作。

如果你有興趣追求這個,我可以去找到我需要的修改和發佈。

Andrew