Ich verwende C# in VS2017. Ich habe eine json aus, wo ich Daten zu erhalten, und diese 3 Klassen:Store unbekannter Objekttyp
public class Azar
{
public int id_juego { get; set; }
public string timestamp { get; set; }
public int id_tipojuego { get; set; }
public string fecha { get; set; }
public int? sorteo { get; set; }
public object resultados { get; set; }
public string tipo_juego { get; set; }
public int tipo { get; set; }
}
public class ResultadoQuiniela
{
public string letras { get; set; }
public int[] numeros { get; set; }
}
public class ResultadoTelekino
{
public int sorteo { get; set; }
public int b1 { get; set; }
public int b2 { get; set; }
public int b3 { get; set; }
public int b4 { get; set; }
public int b5 { get; set; }
public int b6 { get; set; }
public int b7 { get; set; }
public int b8 { get; set; }
public int b9 { get; set; }
public int b10 { get; set; }
public int b11 { get; set; }
public int b12 { get; set; }
public int b13 { get; set; }
public int b14 { get; set; }
public int b15 { get; set; }
public int cat1 { get; set; }
public int cat2 { get; set; }
public int cat3 { get; set; }
public int cat4 { get; set; }
public int cat5 { get; set; }
public int cat6 { get; set; }
public int cat7 { get; set; }
public string prm1 { get; set; }
public string prm2 { get; set; }
public string prm3 { get; set; }
public string prm4 { get; set; }
public string prm5 { get; set; }
public string prm6 { get; set; }
public string prm7 { get; set; }
public string pozo { get; set; }
public string ext { get; set; }
}
Die Azar-> resultados Objekt eine der zwei Klassen sein kann, oder ResultadoQuiniela oder ResultadoTelekino. Ich weiß nicht, wer von ihnen ist, bis ich das JSON analysieren und das id_tipojuego sehe. Sobald ich weiß, dass ich das tue:
if(curAzar.id_tipojuego == 25)
{
ResultadoQuiniela resultados = (ResultadoQuiniela)curAzar.resultados;
}
Aber ich bekomme null Ergebnisse. Ich sehe, dass curAzar (ist das Ergebnis aus dem JSON geparst) wurde jedes Attribut gesetzt ABER das resultados Objekt. Wie kann ich diese Informationen "neutral" speichern und dann an das richtige Objekt übertragen? Wenn Sie es als Objekt deklarieren und es dann umsetzen, speichert es den Wert überhaupt nicht.
EDIT: Für die json Parsen Im mit Newtonsoft.Json
Mögliche Duplikate von [Deserialize JSON in C# dynamisches Objekt?] (Https://stackoverflow.com/questions/3142495/deserialize-json-into-c-sharp-dynamic-object) –
Sie könnten einen benutzerdefinierten [JsonConverter schreiben ] (https://www.newtonsoft.com/json/help/html/CustomJsonConverter.htm), die dies für Sie herausfinden, wenn Sie Json.net verwenden. Es braucht ein wenig Arbeit, um es einzurichten, und es kann für Endbenutzer sehr intransparent sein, aber Sie könnten anhand Ihrer Daten entscheiden, welche Art von Objekt ankommend ist. – Icepickle
Was verwenden Sie zum Deserialisieren von Objekten aus JSON? – Valerii