我有一個與JSON格式的維基百科API。現在我想從這個API獲取提取信息。我想讓它對任何維基百科API都是動態的。 [我的維基百科api] [1]。我從jsontoCsharpJson反編譯從維基百科API與C#
namespace Json_deserialize
{
public class pageval
{
public int pageid { get; set; }
public int ns { get; set; }
public string title { get; set; }
public string extract { get; set; }
}
public class Query
{
public Dictionary<string, pageval> pages { get; set; }
}
public class Limits
{
public int extracts { get; set; }
}
public class RootObject
{
public string batchcomplete { get; set; }
public Query query { get; set; }
public Limits limits { get; set; }
}
class Short_text
{
public static RichTextBox txt1 = new RichTextBox();
public static void shortText()
{
using (WebClient wc = new WebClient())
{
var client = new WebClient();
var response = client.DownloadString("https://en.wikipedia.org/w/api.php?format=json&action=query&prop=extracts&exlimit=max&explaintext&exintro&titles=Neuschwanstein%20Castle&redirects="); ;
pageval m = JsonConvert.DeserializeObject<pageval>(response);
string result = m.extract;
txt1.Text = result;
}
}
}
}
我想做出這樣的應該是動態編碼以下信息。這意味着id 240912應該及時更改。我嘗試了很多。但不能得到滿意的結果。
變化'pages'到'詞典<字符串,對象>'然後刪除'Pages'和'__invalid_type__240912'類 – Rob
謝謝你的回答。你可以請多解釋一下,因爲我在JSON處理方面頗爲新穎。 @Rob – user3193794
所有JSON對象本質上都是字典。但是,假定模式是常量,那麼將它們表示爲C#中的類通常是有意義的。對於*屬性名稱*不總是相同的情況,不可能編寫一個類來表示該對象;所以你多使用'dynamic'或'Dictionary' –
Rob