【发布时间】:2011-02-15 12:56:05
【问题描述】:
网络上有各种资源解释如何将一些 C# 对象序列化为 JSON 字符串。但是,我无法让它们中的任何一个与 MonoTouch 3.2.4 一起工作。
我遇到的替代方案:
System.Json 命名空间
我已经成功地使用 System.Json 命名空间来反序列化数据。因此,为简单起见,如果可能的话,我宁愿坚持这一点。不幸的是,我不知道如何使用它进行序列化(或者是否可能)。System.Runtime.Serialization.Json.DataContractJsonSerializer
System.Runtime.Serialization.Json 命名空间在 MonoTouch 中不可用。我在某处读到它是 .NET 3.5 的一部分,并且 MonoTouch 处于 .NET 2.0 级别。这或许可以解释。System.Web.Script.Serialization.JavaScriptSerializer
MonoTouch 中也缺少这个(事实上,似乎只有 System.Web.Services 可用)。Json.NET by James Newton-King
我设法通过包含 .NET 2.0 程序集 dll 并使用 Newtonsoft.Json.JsonConvert.SerializeObject() 使这个在模拟器上工作。但是,这不会为出现错误“mtouch failed with no output”的设备编译。一旦我删除程序集引用,它就可以正常编译。
有什么方法可以让其中一个与 MonoTouch 一起工作?是否有其他选择可以尝试?
谢谢
【问题讨论】:
标签: c# json serialization xamarin.ios