Добавление в Json по образу и подобию

Возникла проблема следующего характера, дан вот такой вот Json файл:

[
  {
    "id": 1,
    "name": "Human 1",
    "birthDate": "1991-01-01",
    "deathDate": "2011-12-01"
  },
  {
    "id": 2,
    "name": "Old Human 1",
    "birthDate": "1941-01-01",
    "deathDate": "2011-12-01"
  },
  {
    "id": 3,
    "name": "Vasya 1",
    "birthDate": "2012-06-05",
    "deathDate": "2019-12-01"
  },
  {
    "id": 3,
    "name": "Vasya 2",
    "birthDate": "2016-06-05",
    "deathDate": "2019-12-01"
  }
]

В этот json файл нужно записать точно в таком же виде, других людей. При попытке сделать это вот так:

File.AppendAllText("..\\..\\..\\..\\..\\people.json", JsonConvert.SerializeObject(human));

Получается очень грустная и неприятная картина. Добавляется всё совсем не так:

[
  {
    "id": 1,
    "name": "Human 1",
    "birthDate": "1991-01-01",
    "deathDate": "2011-12-01"
  },
  {
    "id": 2,
    "name": "Old Human 1",
    "birthDate": "1941-01-01",
    "deathDate": "2011-12-01"
  },
  {
    "id": 3,
    "name": "Vasya 1",
    "birthDate": "2012-06-05",
    "deathDate": "2019-12-01"
  },
  {
    "id": 3,
    "name": "Vasya 2",
    "birthDate": "2016-06-05",
    "deathDate": "2019-12-01"
  }
]{"Id":4,"Name":"ывапыв","BitrhDate":"01.01.0001 0:00:00","DeathDate":"01.01.0001 0:00:00"}

Вопрос следующий: как правильно добавить человека в файлик? В программе использую Newtonsoft.Json


Ответы (1 шт):

Автор решения: Алексей
  1. Создай класс, содержащий указанные поля (у тебя он, вроде уже есть - human).

  2. Используй Json-для десериализации исходного файла. Туда, очевидно, сохранен List human.

  3. Добавь новые экземпляры в дерериализованный List.

  4. Сериализуй List bобратно в файл.

  5. Не трать время на парсинг и впечатывание данных в файл. Это кривое и некрасивое решение

→ Ссылка