Я не могу найти способ сериализации с JSON.NET списком производных списков, и я начинаю задаваться вопросом, возможно ли это. Позвольте мне объяснить ситуацию с помощью некоторого кода.Сериализовать список производного списка
Я создал новый класс, который получен из списка конкретного объекта (попытался первым с родовыми один) и добавил строковое свойство 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);
}
}
}
Тогда, в моем коде, я 'объявлен список этого класса (List<GroupeActes> listOfGroupeActes
), и я заполняю его данными. Для сериализации, я использую этот код:
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);
}
Я попытался с и без параметра TypeNameHandling.All
и с несколькими сочетанием свойств Json.NET и даже с DataContract/DataMember.
До сих пор мне удалось получить в своем json-файле либо данные каждого вложенного List<Acte>
без свойства NomGroupe
, либо наоборот. Но не то и другое, что я хотел бы иметь.
Два вопроса затем:
- Является ли это вообще возможно?
- Если да, то как я могу это сделать?
Благодарим за помощь!
Можете ли вы использовать JsonConvert.SerializeObject()? – gmn
Нет, проблема такая же печальна. Свойство «NomGroupe» затем игнорируется. – LaPointe
Похоже, что дубликат [JSON сериализует свойства в списке наследования классов] (https://stackoverflow.com/questions/35439335) и/или [Как мне получить json.net для сериализации членов класса, полученных из списка? ] (https://stackoverflow.com/questions/21265629), оба из которых имеют обходные пути. –
dbc