C# 维基百科主页上的图片现在以窗口形式显示

C# 维基百科主页上的图片现在以窗口形式显示,c#,json,exception-handling,deserialization,wikipedia-api,C#,Json,Exception Handling,Deserialization,Wikipedia Api,我试图从WikipediaAPI获取第一幅图像。我编写了以下C#代码从缩略图中检索源代码。但每当我运行代码时,它都会显示异常 “Newtonsoft.Json.JsonReaderException”类型的未处理异常 在Newtonsoft.Json.dll中发生其他信息:意外 解析值时遇到字符:要从URL显示图像,需要使用WebClient在本地系统中加载图像 即 要从URL显示图像,您需要使用WebClient在本地系统中加载图像 即 如果查看查询的输出,它会说: 这是JSON格式的HTML

我试图从WikipediaAPI获取第一幅图像。我编写了以下C#代码从缩略图中检索源代码。但每当我运行代码时,它都会显示异常

“Newtonsoft.Json.JsonReaderException”类型的未处理异常
在Newtonsoft.Json.dll中发生其他信息:意外
解析值时遇到字符:要从URL显示图像,需要使用
WebClient
在本地系统中加载图像


要从URL显示图像,您需要使用
WebClient
在本地系统中加载图像


如果查看查询的输出,它会说:

这是JSON格式的HTML表示。HTML有利于调试,但不适合应用程序使用

指定format参数以更改输出格式。要查看JSON格式的非HTML表示,请设置
format=JSON


如果您遵循该建议,它将修复您的错误。

如果您查看查询的输出,它会说:

这是JSON格式的HTML表示。HTML有利于调试,但不适合应用程序使用

指定format参数以更改输出格式。要查看JSON格式的非HTML表示,请设置
format=JSON


如果您遵循该建议,它将修复您的错误。

哪一行给出了错误?var responseJson=JsonConvert.DeserializeObject(response);这一行@SonerPost返回的JSON。哪一行给出了错误?var responseJson=JsonConvert.DeserializeObject(response);这行@SonerPost是返回的JSON。我想您是通过web请求获得JSON的。您需要执行另一个将图像保存到本地系统的web请求。请检查我的密码。我解决了我的问题。这是我的json请求中的问题。现在我改正了。谢谢@BhavikI,我想您是通过web请求获得JSON的。您需要执行另一个将图像保存到本地系统的web请求。请检查我的密码。我解决了我的问题。这是我的json请求中的问题。现在我改正了。谢谢你@Bhavik
     public class Thumbnail
        {
            public string source { get; set; }
            public int width { get; set; }
            public int height { get; set; }
        }

        public class Pageval
        {
            public int pageid { get; set; }
            public int ns { get; set; }
            public string title { get; set; }
            public Thumbnail thumbnail { get; set; }
            public string pageimage { get; set; }
        }



        public class Query
        {
            public Dictionary<string, Pageval> pages { get; set; }
        }

        public class RootObject
        {
            public string batchcomplete { get; set; }
            public Query query { get; set; }
        }
        class Class1
        {


            public static PictureBox Image1 = new PictureBox();
            public static Label Image1_title = new Label();

            public static void Load_Image(string name1, string LocationName)
            {
                var startPath = Application.StartupPath;
                string Imagefolder = Path.Combine(startPath, "Image");
                string subImageFolder = Path.Combine(Imagefolder, LocationName);
                System.IO.Directory.CreateDirectory(subImageFolder);


                using (var wc = new System.Net.WebClient())
                {
                    var uri = ("https://en.wikipedia.org/w/api.php?action=query&prop=pageimages&pithumbsize=400&titles="+name1);
                    var response = wc.DownloadString(new Uri(uri));
                    var responseJson = JsonConvert.DeserializeObject<RootObject>(response);

                    var firstKey = responseJson.query.pages.First().Key;
                    string image1 = responseJson.query.pages[firstKey].thumbnail.source;
                    string Image_title = responseJson.query.pages[firstKey].title;
                    Image1.SizeMode = PictureBoxSizeMode.StretchImage;
                    Image1.LoadAsync(image1);
                    Image1_title.Text = Image_title;


                }
            }
        }
    }
   private void button1_Click(object sender, EventArgs e)
    {
        Class1.Image1 = pictureBox1;
        Class1.Load_Image(textBox1.Text, textBox1.Text);
    }
{
"batchcomplete": "",
"query": {
    "pages": {
        "3354": {
            "pageid": 3354,
            "ns": 0,
            "title": "Berlin",
            "thumbnail": {
                "source": "https://upload.wikimedia.org/wikipedia/commons/thumb/3/3b/Siegessaeule_Aussicht_10-13_img4_Tiergarten.jpg/400px-Siegessaeule_Aussicht_10-13_img4_Tiergarten.jpg",
                "width": 400,
                "height": 267
            },
            "pageimage": "Siegessaeule_Aussicht_10-13_img4_Tiergarten.jpg"
        }
     }
   }
 }
string remoteUri = "https://upload.wikimedia.org/wikipedia/commons/thumb/3/3b/Siegessaeule_Aussicht_10-13_img4_Tiergarten.jpg/400px-Siegessaeule_Aussicht_10-13_img4_Tiergarten.jpg";
string fileName = "MyImage.jpg", 
WebClient myWebClient = new WebClient();
myWebClient.DownloadFile(remoteUri,fileName);