Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/257.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 - Fatal编程技术网

为什么我的C#json反序列化失败?

为什么我的C#json反序列化失败?,c#,json,C#,Json,我反对使用stackoverflow.com网站中提到的所有流行的历史方法来解码json文件。然而,在我的情况下,他们都不起作用。 下面是我正在处理的json文件的一小部分: [{ "lat": [ [-19.1415329], [-18.822279], [-18.672287] ], "lon": [ [135.673416], [135.547226], [135.566849] ] }] 您可以在此处看到完整的json文件: 请给我一些提示。我被困在这

我反对使用stackoverflow.com网站中提到的所有流行的历史方法来解码json文件。然而,在我的情况下,他们都不起作用。 下面是我正在处理的json文件的一小部分:

[{
    "lat": [
[-19.1415329],
[-18.822279],
[-18.672287]
    ],
    "lon": [
[135.673416],
[135.547226],
[135.566849]
    ]
}]
您可以在此处看到完整的json文件:

请给我一些提示。我被困在这里有一段时间了。
谢谢你们

您得到的Json是一个
RootObject
数组,因此必须进行更改

oRootObject = oJS.Deserialize<RootObject>(jsonText);
oRootObject=oJS.Deserialize(jsonText);

oRootObject=oJS.Deserialize(jsonText);

之后,在oRootObject[0]中,您将对json进行反序列化

如何处理
oJS。反序列化(jsonText)
?json snippt看起来像一个RootObject数组。您还可以使用错误的具体构成来获得提示?请您向我们展示一些示例输出(如果有的话)?如果没有输出,您能告诉我们错误吗?我这样问是因为我们中的一些人无法在工作中运行您的代码。此外,我甚至无法访问
jsonFtp
/您文章中的链接。这里无法访问它。RootObject是使用json2csharp生成的类。我所做的就是在那个网站上发布FTP链接,它是自动生成的。谢谢你们!祝你周末愉快谢谢。它起作用了:var oRootObject=(RootObject[])oJS.Deserialize(jsonText)
private void getJson(string url)
{
    var req = (FtpWebRequest)WebRequest.Create(url);
    using (Stream stream = req.GetResponse().GetResponseStream())
    {
        StreamReader reader = new StreamReader(stream);
        string jsonText = reader.ReadToEnd();

        var serializer = new DataContractJsonSerializer(typeof(RootObject));
        RootObject library = (RootObject)serializer.ReadObject(stream);
        MessageBox.Show("OK");
    }
}
oRootObject = oJS.Deserialize<RootObject>(jsonText);
oRootObject = oJS.Deserialize<RootObject[]>(jsonText);