我在WikipediaAPI上请求从每个imageinfo中获取thumburl,以便在picturebox中使用此图片。我使用urlhttps://en.wikipedia.org/w/api.php?action=query
{
public class Imageinfo
{
public string thumburl { get; set; }
public int thumbwidth { get; set; }
public int thumbheight { get; set; }
public string url { get; set; }
public string descriptionurl { get; set; }
}
public class Pageval
{
public int ns { get; set; }
public string title { get; set; }
public string missing { get; set; }
public string imagerepository { get; set; }
public List<Imageinfo> imageinfo { 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 Image
{
public static PictureBox Image1 = new PictureBox();
public static PictureBox Image2 = new PictureBox();
public static PictureBox Image3 = new PictureBox();
public static void Load_Image1()
{
using (var wc = new System.Net.WebClient())
{
var uri = ("https://en.wikipedia.org/w/api.php?action=query&prop=imageinfo&format=json&iiprop=url&iiurlwidth=400&titles=File%3ALuftbild%20Flensburg%20Schleswig-Holstein%20Zentrum%20Stadthafen%20Foto%202012%20Wolfgang%20Pehlemann%20Steinberg-Ostsee%20IMG%206187.jpg%7CFile%3AHafen%20St%20Marien%20Flensburg2007.jpg%7CFile%3ANordertor%20im%20Schnee%20(Flensburg%2C%20Januar%202014).JPG");
var response = wc.DownloadString(new Uri(uri));
var responseJson = JsonConvert.DeserializeObject<RootObject>(response);
foreach (KeyValuePair<string, Pageval> entry in responseJson.query.pages)
{
var url = entry.Value.imageinfo.First().thumburl;
for(int i; i<=3 ;i++)
{
}
}
}
}
}
我想做一个for循环,通过它我可以在3个图框中显示3个图像。但是真的不知道怎么做
首先,您的类定义需要进行一些重构:
public class Imageinfo
{
public string thumburl { get; set; }
public int thumbwidth { get; set; }
public int thumbheight { get; set; }
public string url { get; set; }
public string descriptionurl { get; set; }
}
public class Pageval
{
public int ns { get; set; }
public string title { get; set; }
public string missing { get; set; }
public string imagerepository { get; set; }
public List<Imageinfo> imageinfo { 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; }
}
public class Image
{
public static PictureBox Image1 = new PictureBox();
public static PictureBox Image2 = new PictureBox();
public static PictureBox Image3 = new PictureBox();
}
以及反序列化逻辑:
using (var wc = new System.Net.WebClient())
{
var uri = ("https://en.wikipedia.org/w/api.php?action=query&prop=imageinfo&format=json&iiprop=url&iiurlwidth=400&titles=File%3ALuftbild%20Flensburg%20Schleswig-Holstein%20Zentrum%20Stadthafen%20Foto%202012%20Wolfgang%20Pehlemann%20Steinberg-Ostsee%20IMG%206187.jpg%7CFile%3AHafen%20St%20Marien%20Flensburg2007.jpg%7CFile%3ANordertor%20im%20Schnee%20(Flensburg%2C%20Januar%202014).JPG");
var response = wc.DownloadString(new Uri(uri));
var responseJson = JsonConvert.DeserializeObject<RootObject>(response);
foreach(KeyValuePair<string, Pageval> entry in responseJson.query.pages)
{
var url = entry.Value.imageinfo.First().thumburl;
//Do something with url
Console.WriteLine(url);
}
}
这将提供URL。请加价!谢谢
问题内容: 我有一个由数据库支持的小应用程序(SQLite,但与问题无关)。我已经定义了一些类型,例如: 这些类型映射到数据库中的表。当我读取数据时,我最终会写出这样的函数: (为了清楚起见,我省略了处理错误。) 编写这样的函数确实很烦人,感觉就像创建了很多样板。有没有更惯用的方法将一组SqlValues转换为Haskell数据? 问题答案: 库中似乎没有任何标准方法可用于此目的。如果您感觉特别敏
我试图从一个.json数组创建一个数组,并且从当前的.json数组中只获取2个变量(keyName和token)。 目前,我使用了一个api调用来获取.json文件,然后将其解析为一个数组,如下所示: 请帮忙,因为我是初学C#的,如果有些说不通的话,对不起,我的英语不是很好。
我想制作一个应用程序,我需要从api中提取wikipedi图像。但有些页面也包含.png图像。对于我的代码,我只需要.jpeg图像。我找到了这个apihttps://en.wikipedia.org/w/api.php?action=query
问题内容: 我很好奇序列化和反序列化的方式。我使用关键字“ json”和“ tuple”进行搜索,但找不到所需的内容。 问题答案: 我通过和Json.net进行测试,测试代码如下。结果显示可序列化和可反序列化。因此,我可以在应用程序中使用它们。 测试代码 注释 在将序列化到字符串{“项目1”:“一”,“项目2”:“嘻嘻”,“项目3”:真正},并且它可以被反序列化回类型。
我应该能够对配对到JSON/从JSON配对。 我有
问题内容: 我们使用Jackson 1.9.1对与Java对象之间的JSON请求响应字符串进行序列化和反序列化。原始Java类型,集合类型和自定义对象都可以(反)序列化而不会出现问题。但是,尝试将JSON字符串反序列化为Java枚举时遇到问题。JSON字符串的序列化方式如下: wt的Java类型如下所示: 我在SO上提到了this,this和this,并提出了重量单位的枚举,如下所示: 问题是,每