将Json反序列化为DataSet

时间:2016-04-01 06:18:35

标签: c# json wcf xamarin json.net

我们有一个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应用程序中,它返回空数据集。

由于

0 个答案:

没有答案