Я пытаюсь правильно написать код для построения структуры данных для сериализации в json.
Я использую json.net.
Я не хочу создавать кучу классов для хранения этих данных, поскольку я думал, что должны быть некоторые классы, которые уже будут делать это в json.net
У меня уже есть все данные, которые мне нужны в серии вложенных циклов, и теперь я просто хочу добавить их в иерархию объектов, прежде чем запускать на нем JsonConvert.SerializeObject.
Я уже пробовал код вроде этого, но он не работает
JArray container = new JArray();
container.Add(new JObject(new JProperty("name", "Client1"), new JProperty("projects", new JArray())));
container[0].AddAfterSelf(new JObject(new JProperty("projects", new JArray())));
container[1].AddAfterSelf(new JObject(new JProperty("projects", "Project2")));
container[1].AddAfterSelf(new JObject(new JProperty("projects", "Project3")));
container.Add(new JProperty("name", "Client2"));
var test = JsonConvert.SerializeObject(container);
Проблема заключается в том, что когда я использую [i]. или ElementAt (i) для доступа к какой-либо структуре, либо отсутствует .Add(), либо отсутствует .ElementAt. Как мне пройти через структуру данных, чтобы сделать это красиво выведенным ниже, или мне нужно создать свой собственный класс контейнера для всего этого?
Это формат данных, который я пытаюсь сделать.
[
{
"name": "student1",
"projects":
[
{
"name": "Project1",
"tasks":
[
{
"name": "task1",
"id": 2
}
],
"id": 6
}
]
},
{
"name": "Student2",
"projects": [
{
"name": "Project1",
"tasks": [
{
"name": "Task2",
"id": 1
},
{
"name": "Task3",
"id": 3
},
{
"name": "Task4",
"id": 4
}
],
"id": 2
и т.д...