【发布时间】:2020-02-20 11:39:52
【问题描述】:
我正在尝试使用 Wikipedia 搜索请求 API:
https://en.wikipedia.org/w/api.php?action=query&origin=*&format=json&generator=search&gsrnamespace=0&gsrlimit=100&gsrsearch=简谐运动
然后尝试反序列化:
WikiSearchResults R = s1.Deserialize<WikiSearchResults>(Json);
使用这个类结构:
private class WikiSearchQuery{
public WikiSearchPage[] pages { get; set; }
}
private class WikiSearchPage{
public int pageid { get; set; }
public string title { get; set; }
}
private class WikiSearchResults{
public WikiSearchQuery[] query { get; set; }
}
但我得到了这个例外:
没有为 WikiSearchQuery[] 类型定义无参数构造函数
我想我误解了 JSON 响应。有人可以建议我做错了什么吗?
【问题讨论】:
-
json本身长什么样子?
-
在此处添加您的
Json数据。你的班级可能有问题。 -
A Wild Assed Guess 说这是因为您的课程是私有的。因此,它不适用于另一个命名空间/程序集(例如 JSON 反序列化器)。如果您将这些类重新声明为公开会发生什么?
-
另外,架构似乎与我从该链接获得的 JSON 不匹配。
标签: c# .net json deserialization wikipedia