Генерация данных в .json файл
У меня есть задача: сгенерировать данные в программе, которые записываются при старте программы в файл .json.
Метод который их генерирует:
static Person GeneratePeopleFileJson()
{
return new Person
{
PersonalId = 1, Name = "Имя 1", Year = 2002, BirthYear = new DateTime(2002, 05, 05), DeathYear = null,
PersonalId = 2,Name = "Имя 2",Year = 1951, BirthYear = new DateTime(1951,08,05),DeathYear = new DateTime(2001,04,04),
};
}
При одной строке генерируется все как нужно, а вот многострочную генерацию не могу реализовать.
Это данные, которые я должен получить в самом файле .json:
[{"PersonalId":1,"Name":" Имя 1","Year":2002,"BirthYear":"2002 - 01 - 05","DeathYear":null},{"PersonalId":2,"Name":" Имя 2","Year":1951,"BirthYear":"1951 - 08 - 05","DeathYear":"2001 - 04 - 04"}]
Так выглядит метод записывющий данные в файл:
static void WriteTestFilesJson(string pathOfPeople, string pathOfTimeline)
{
string fileReaded = JsonConvert.SerializeObject(GeneratePeopleFileJson(), Formatting.None, new IsoDateTimeConverter() { DateTimeFormat = "yyyy-MM-dd" });
File.WriteAllText(pathOfPeople, fileReaded);
}
Класс:
public class Person
{
public int PersonalId;
public string Name;
public int Year;
public DateTime BirthYear;
public DateTime? DeathYear;
}
Ответы (1 шт):
Автор решения: Alex Krass
→ Ссылка
Пример для нескольких человек
public class Person
{
public int PersonalId;
public string Name;
public int Year;
public DateTime BirthYear;
public DateTime? DeathYear;
}
class Program
{
static List<Person> GeneratePeoplesFileJson()
{
return new List<Person>() {
new Person() { PersonalId = 1, Name = "Имя 1", Year = 2002, BirthYear = new DateTime(2002, 05, 05), DeathYear = null },
new Person() { PersonalId = 2, Name = "Имя 2", Year = 2003, BirthYear = new DateTime(2003, 05, 05), DeathYear = null },
new Person() { PersonalId = 3, Name = "Имя 3", Year = 2004, BirthYear = new DateTime(2004, 05, 05), DeathYear = new DateTime(2201,04,04) }
};
}
static void WriteTestFilesJson(string pathOfPeople, string pathOfTimeline)
{
string fileReaded2 = JsonConvert.SerializeObject(GeneratePeoplesFileJson(), Formatting.None, new IsoDateTimeConverter() { DateTimeFormat = "yyyy-MM-dd" });
File.WriteAllText(pathOfPeople, fileReaded2);
}
static void Main(string[] args) {
WriteTestFilesJson("путь до файла", "");
}
}