Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 将Json反序列化到数据集_C#_Json_Wcf_Xamarin_Json.net - Fatal编程技术网

C# 将Json反序列化到数据集

C# 将Json反序列化到数据集,c#,json,wcf,xamarin,json.net,C#,Json,Wcf,Xamarin,Json.net,我们有一个WCF Web服务,它返回一个序列化为JSON的数据集,当使用我们的WPF应用程序时,我们能够将JSON反序列化回一个数据集,而没有问题。然而,当在我们的Xamarin.IOS应用程序上反序列化时,我们最终得到一个空数据集。我们使用JSON.NET来序列化和反序列化JSON 经过进一步研究,我发现在Xamarin应用程序中序列化数据集时,我最终会得到大量本地化信息,而在我们的Web服务上序列化JSON时,这些信息是不会发生的。我假设它没有正确地反序列化,因为缺少这些信息 这是使用JSO

我们有一个WCF Web服务,它返回一个序列化为JSON的数据集,当使用我们的WPF应用程序时,我们能够将JSON反序列化回一个数据集,而没有问题。然而,当在我们的Xamarin.IOS应用程序上反序列化时,我们最终得到一个空数据集。我们使用JSON.NET来序列化和反序列化JSON

经过进一步研究,我发现在Xamarin应用程序中序列化数据集时,我最终会得到大量本地化信息,而在我们的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"]);
            }                
        }
stringjson=@”{
“表1”:[
{
“id”:0,
“项”:“项0”
},
{
“id”:1,
“项目”:“项目1”
}
]
}";
DataSet ds=JsonConvert.DeserializeObject(json);
如果(ds.Tables.Count>0)
{
foreach(ds.Tables[0].行中的DataRow行)
{
Console.WriteLine(行[“id”]+“-”+行[“项]);
}                
}
在Windoews应用程序(即控制台或WPF应用程序)中运行时,上述代码与预期一样工作,但在Xamarin应用程序中,它返回一个空数据集


谢谢

Hii,如果您得到帮助,请查看此链接。。。使用JSON.NET..它可能有助于发布JSON字符串。并将您尝试过的内容/代码发布出去。@Alok抱歉,我应该更清楚地说明我们使用的是JSON.NETHii,如果您得到帮助,请查看此链接。。。使用JSON.NET..它可能有助于发布JSON字符串。并将您尝试过的内容/代码发布出去。@Alok对不起,我应该更清楚地说明我们使用的是JSON.NET