123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205 |
- /*
- using System.Globalization;
- using CsvHelper;
- using CsvHelper.Configuration;
- using (var reader = new StreamReader("./test.csv")) {
- using (var csv = new CsvReader(
- reader, CultureInfo.InvariantCulture))
- {
- var records = csv.GetRecords<Foo>();
- foreach (var record in records) {
- Console.WriteLine("{0}, {1}", record.description, record.value);
- }
- }
- }
- public class Foo
- {
- public string description { get; set; }
- public double value { get; set; }
- }
- */
- /*
- using System.Globalization;
- using CsvHelper;
- using CsvHelper.Configuration;
- // использую не стандартный формат
- var config = new CsvConfiguration(
- CultureInfo.InvariantCulture) {
- Delimiter = ";",
- HasHeaderRecord = false };
- // создаю тестовые данные
- var records = new List<Foo>
- {
- new Foo {
- description ="тест записи\nмногострочного текста",
- value = 12.34 },
- new Foo {
- description = "просто, текст, с запятыми",
- value = 0 }
- };
- using (var writer = new StreamWriter("./test3.csv"))
- using (var csv = new CsvWriter(writer, config))
- {
- csv.WriteRecords(records);
- }
- public class Foo
- {
- public string description { get; set; }
- public double value { get; set; }
- }
- */
- /*
- using Newtonsoft.Json;
- var person = new Person
- {
- name = "Имя",
- age = 18,
- date = "2024-03-07"
- };
- string json = JsonConvert.SerializeObject(
- person, Formatting.Indented);
- Console.WriteLine(json);
- class Person
- {
- public string name { get; set; }
- public int age { get; set; }
- public string date { get; set; }
- }
- */
- /*
- using System.Runtime.Serialization;
- using System.Runtime.Serialization.Json;
- var PersonList = new List<Person>() {
- new Person {name="Иванов", age=25, date=new DateTime(2021,1,1)},
- new Person {name="Петров", age=35, date=new DateTime(2021,1,2)}
- };
- // создаем объект сериализатора, указав, что на входе
- // будет МАССИВ объектов Person
- var Serializer = new DataContractJsonSerializer(typeof(Person[]));
- using (var streamWriter = new StreamWriter("test1.json"))
- {
- Serializer.WriteObject(
- streamWriter.BaseStream,
- // Преобразуем список (List) объектов в МАССИВ
- PersonList.ToArray()
- );
- }
- [DataContract]
- internal class Person
- {
- [DataMember]
- public string name;
- [DataMember]
- public int age;
- [DataMember]
- public DateTime date;
- }
- */
- /*
- using System.Runtime.Serialization;
- using System.Runtime.Serialization.Json;
- var Serializer = new DataContractJsonSerializer(typeof(Person[]));
- using (var sr = new StreamReader("test1.json"))
- {
- var PersonList = (Person[])Serializer.ReadObject(sr.BaseStream);
- }
- [DataContract]
- internal class Person
- {
- // создаем приватную переменную для хранения даты
- private DateTime privateDate;
- [DataMember]
- public string name { get; set; }
- [DataMember]
- public string age { get; set; }
- // создаем ПРИВАТНОЕ СТРОКОВОЕ свойство и с помощью атрибутов меняем ему имя для сериализатора
- [DataMember(Name = "date")]
- private string StringDate {
- get {
- return privateDate.ToString("yyyy-MM-dd");
- }
- set {
- // 2021-03-21
- // 0123456789
- privateDate = new DateTime(
- Convert.ToInt32(value.Substring(0, 4)),
- Convert.ToInt32(value.Substring(5, 2)),
- Convert.ToInt32(value.Substring(8, 2))
- );
- }
- }
- // публичное свойство "дата" скрываем от сериализатора
- [IgnoreDataMember]
- public DateTime date {
- get { return privateDate; }
- set { privateDate = value; }
- }
- }
- */
- /*
- using Newtonsoft.Json;
- Person person1 = new Person
- {
- Name = "Влад",
- LastName = "Анисимов",
- Age = 19,
- Birtday = new DateTime(2003, 02, 19).ToShortDateString().ToString()
- };
- string json = JsonConvert.SerializeObject(person1, Formatting.Indented);
- Console.WriteLine(json);
- public class Person
- {
- public string Name { get; set; }
- public string LastName { get; set; }
- public int Age { get; set; }
- public string Birtday { get; set; }
- }
- */
- using Newtonsoft.Json;
- string json = @"{""Name"":""Влад"",""LastName"":""Иванов"",""Age"":19, ""Birthday"":""2003.02.18""}";
- Person person1 = JsonConvert.DeserializeObject<Person>(json);
- Console.WriteLine(person1.Name);
- Console.WriteLine(person1.LastName);
- Console.WriteLine(person1.Age);
- Console.WriteLine(person1.Birthday);
- public class Person
- {
- public string Name { get; set; }
- public string LastName { get; set; }
- public int Age { get; set; }
- public string Birthday { get; set; }
- }
|