So konvertieren Sie JSON in eine C#-Klasse, wenn der „Name“ des Objekts ohne benutzerdefinierte Klassen variiert [DuplikC#

Ein Treffpunkt für C#-Programmierer
Guest
 So konvertieren Sie JSON in eine C#-Klasse, wenn der „Name“ des Objekts ohne benutzerdefinierte Klassen variiert [Duplik

Post by Guest »

Dieser JSON wird von einer API zurückgegeben (er gibt etwa 100 Elemente zurück):

Code: Select all

{
"translation": {
"el": {
"name": "Greek",
"nativeName": "Ελληνικά",
"dir": "ltr"
},
"en": {
"name": "English",
"nativeName": "English",
"dir": "ltr"
}
}
}
Und ich kann diesen Code schreiben, um ihn zu deserialisieren:

Code: Select all

// Root myDeserializedClass = JsonConvert.DeserializeObject(myJsonResponse);
public class El
{
public string name { get; set; }
public string nativeName { get; set; }
public string dir { get; set; }
}

public class En
{
public string name { get; set; }
public string nativeName { get; set; }
public string dir { get; set; }
}

public class Root
{
public Translation translation { get; set; }
}

public class Translation
{
public El el { get; set; }
public En en { get; set; }
}

Aber der Name („el“, „en“) ändert sich mit jeder Sprache, und daher kann ich nicht für jede Sprache benutzerdefinierte Klassen schreiben. Ich muss in der Lage sein, den JSON in ein Objekt wie dieses zu deserialisieren, damit es in einer Datenbank gespeichert werden kann.

Code: Select all

public class LanguageInfo{
public string LanguageId {get; set;}
public string Name {get;set;}
public string NativeName {get;set;}
public string Direction {get;set;}
}
Gibt es eine Möglichkeit, das zu tun?

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post