ich die OpenLibrary.org Buch-Datenbank abfragt, aber eine Marotte davon ist, dass, wenn Sie ein Buch von ISBN verlangen die Ergebnisse die ISBN-ID als äußersten Teil der Datenstruktur umfassen, etwa so:Wie kann ich die äußerste Stufe einer JSON-Antwort ignorieren?
{ "ISBN: 0192821474": {"stuff Ich interessiere mich wirklich"} }
Wenn ich eine Wrapper-Klasse generieren, die in die Quere kommt; Es ist auch deshalb kompliziert, weil die Wrapper-Klasse den Namen ISBN0192821474 hat. Ich benutze dafür den "Xamasoft JSON Class Generator".
Was ich tun muss, ist das äußerste Element zu "überspringen" und seinen Text als den eigentlichen Inhalt meiner Antwort zu bekommen.
Was ist der beste Weg, das zu tun? Ich habe Newtonsoft.Json und RestSharp und hoffe, dass ich die Struktur irgendwie eine Stufe tiefer "laufen" und von dort aus arbeiten kann.
Im folgenden Code würde es beispielsweise gut funktionieren, wenn response.Content der Inhalt des untergeordneten Knotens wäre.
var client = new RestClient("http://openlibrary.org");
var request = new RestRequest("/api/books?bibkeys=ISBN:0192821474&jscmd=data&format=json", Method.GET);
IRestResponse response = client.Execute(request);
var content = response.Content; // raw content as string
var x = JsonConvert.DeserializeObject<Example.OpenLibrary>(response.Content);
Ich bin sicher, dass ich einen regulären Ausdruck, es zu analysieren schreiben könnte, aber das ist eindeutig nicht der „richtige“ Weg, es zu tun, so brauche ich einige Hinweise.
Hier ist ein Dokument Ein Beispiel aus Newtonsoft (http://www.newtonsoft.com/json/help/html/SerializingJSONFragments.htm) zeigt ein klares Beispiel dafür, wie man es macht: P – starlight54