Wenn ich Anfrage für eine bestimmte API senden, geben sie mir ein JSON, das ist toll, aber das Problem ist, dass je nach den Parametern, die ich zur Verfügung stellen, der Objektname ist immer anders als die Daten Struktur bleibt gleich. Also versuche ich, den JSON mit der Newtonsoft-Bibliothek in eine C# -Klasse zu konvertieren. Der einzige Weg, den ich gefunden habe, ist die Verwendung von JsonTextReader, aber ich frage mich, ob es einen saubereren Weg gibt, dies zu erreichen. Ich habe die Dokumentation nachgeschlagen und konnte nichts finden, was mir in dieser Hinsicht helfen könnte. Ich habe auch versucht, JValue.Parse für die dynamische Objekt-Mapping, aber da der Name der Eigenschaft immer anders ist, hilft es mir nicht. Hier ist ein Codebeispiel, das Problem zu veranschaulichen:Deserialize dynamischen Objektnamen für newtonsoft Eigenschaft
{
"error": [],
"result": {
//This property name always changes
"changingPropertyName": [
[
"456.69900",
"0.03196000",
1461780019.8014,
]]
}
//C# mapping
public partial class Data
{
[JsonProperty("error")]
public object[] Error { get; set; }
[JsonProperty("result")]
public Result Result { get; set; }
}
public class Result
{
[JsonProperty("changingPropertyName")]
public object[][] changingPropertyName{ get; set; }
}
Sie können dies nicht mit einem Attribut. Sie müssten einen benutzerdefinierten Konverter oder etwas Ähnliches schreiben. –