Ukratko : Povučem JSON preko MediaWiki API-a i "bacim" ga u dynamic object.
Iz tog objekta treba da povučem informacije iz Infoboxa nekog Wikipedia članka.
Problem je što je struktura slična ovoj :
query -> pages[] -> page -> revisions[] -> rev -> info koji meni treba
Ako znam kako se stranica zove mogu ovako da dođem do informacije :
obj.query.pages['23123123'].revisions[0]["*"]
Problem nastaje kad promenim link i promeni se page name.
Ne mogu da koristim samo indeks a svi načini da dođem do naziva prvog elementa, na koje sam naišao, ne rade sa dynamic objektima.
Probajte ovaj sample u .NET-u :
WebRequest request = WebRequest.Create("https://en.wikipedia.org/w/api.php?action=query&prop=revisions&rvprop=content&format=json&titles=Titanfall&rvsection=0");
WebResponse response = request.GetResponse();
Stream data = response.GetResponseStream();
string jsonWikiResponse = String.Empty;
using (StreamReader sr = new StreamReader(data))
{
jsonWikiResponse = sr.ReadToEnd();
}
dynamic response3 = Newtonsoft.Json.Linq.JObject.Parse(jsonWikiResponse);
dynamic ff = response3.query.pages["39596663"].revisions[0];
ff = ff["*"];
Treba vam JSON.net paket.
Ima li neko pojma kako da napišem kod koji će da radi za bilo koju datu stranu ?
Dakle treba da nađem pageID nekako ili da dođem do ovih informacija koje mi trebaju na neki drugi način.
Interesuju me informacije samo iz InfoBox sekcije (npr. developer, publisher, release date).
|