Ich kann keinen Weg finden, mit JSON.NET eine Liste abgeleiteter Listen zu serialisieren, und ich beginne mich zu fragen, ob es überhaupt möglich ist. Lassen Sie mich die Situation mit einem Code erklären.Serialize eine Liste der abgeleiteten Liste
Ich habe eine neue Klasse geschaffen, die aus einer Liste eines bestimmten Objekts abgeleitet wird (zunächst versucht, durch einen generischen) und fügte eine String-Eigenschaft NomGroupe
:
public class GroupeActes : List<Acte>
{
public string NomGroupe { get; set; }
public GroupeActes(string nom, List<Acte> liste)
{
NomGroupe = nom;
foreach (var acte in liste)
{
this.Add(acte);
}
}
}
Dann in meinem Code, ich habe eine Liste dieser Klasse deklariert (List<GroupeActes> listOfGroupeActes
) und ich fülle sie mit Daten. Für die Serialisierung, verwende ich diesen Code:
JsonSerializer serializer = new JsonSerializer();
serializer.TypeNameHandling = TypeNameHandling.All;
using (StreamWriter sw = new StreamWriter(@"listOfGroupeActes.json"))
using (JsonWriter writer = new JsonTextWriter(sw))
{
serializer.Serialize(writer, listOfGroupeActes);
}
I mit und ohne TypeNameHandling.All
Parameter und mit mehrere Kombination von Json.net Eigenschaften und sogar mit Datacontract/Datamember ausprobiert habe.
Bisher gelang es mir nur in meine JSON-Datei entweder die Daten jedes verschachtelten List<Acte>
ohne die NomGroupe
Eigenschaft, oder umgekehrt. Aber nicht beides, was ich gerne hätte.
Zwei Fragen dann:
- Ist es überhaupt möglich?
- Wenn ja, wie kann ich es tun?
Vielen Dank für Ihre Hilfe!
Können Sie JsonConvert.SerializeObject() nicht verwenden? – gmn
Nein, das Problem ist das selbe. Die Eigenschaft 'NomGroupe' wird dann ignoriert. – LaPointe
Sieht aus wie ein Duplikat von [JSON serialize-Eigenschaften in der Klassenerbenliste] (https://Stackoverflow.com/questions/35439335) und/oder [Wie bekomme ich json.net, um Mitglieder einer Klasse zu serialisieren, die von der Liste abgeleitet ist? ] (https://stackoverflow.com/questions/21265629), die beide Problemumgehungen haben. –
dbc