我们有一个WCF Web服务返回一个序列化为JSON的DataSet,当使用我们的WPF应用程序时,我们能够将JSON反序列化回DataSet而不会出现问题,但是当我们的Xamarin.IOS应用程序反序列化时,我们最终得到一个空的数据集。我们正在使用JSON.NET来序列化和反序列化我们的JSON。
经过一些研究后,我发现在Xamarin应用程序中序列化DataSet时,我最终会得到大量的本地化信息,这些信息在我们的Web服务上序列化JSON时不会发生。我假设它没有正确反序列化,因为缺少这些信息。
这是使用JSON.NET文档中的示例,该文档表现出与我们的应用程序相同的行为。
string json = @"{
'Table1': [
{
'id': 0,
'item': 'item 0'
},
{
'id': 1,
'item': 'item 1'
}
]
}";
DataSet ds = JsonConvert.DeserializeObject<DataSet>(json);
if (ds.Tables.Count > 0)
{
foreach (DataRow row in ds.Tables[0].Rows)
{
Console.WriteLine(row["id"] + " - " + row["item"]);
}
}
以上代码在Windoews应用程序(即控制台或WPF应用程序)中运行时按预期工作,但在Xamarin应用程序中,它返回空数据集。
由于