1

我需要在 .NET Compact Framework 2.0 下对自定义对象进行序列化和反序列化。我已经完成了 JSON.NET 3.5,但它需要 .NET Compact Framework 3.5。

我被限制不能从 2.0 升级到 3.5。当我尝试使用 JSON.Net 2.0 版本时,序列化和反序列化操作挂起。

---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 是对象数组( object[] )

上面的代码有问题吗?我用 Desktop 测试过的相同,我发现它可以工作,但不能在 Compact Framework 中工作。

4

1 回答 1

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 序列化器一样工作。

如果你有兴趣追求这个,我可以去找到我需要做的修改并发布它们。

安德鲁

于 2012-01-12T06:57:15.247 回答