2012-01-12 134 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