Сериализация Person в JSON - C#

Узнай цену своей работы

Формулировка задачи:

Есть вот такой класс Person
    public class Person
    {
        public int id;
        public string fn;
        public string ln;
        public int age;
 
        public Person(int id, string fn, string ln, int age)
        {
            Init(id, fn, ln, age);
        }
 
        public void Init(int id, string fn, string ln, int age)
        {
            this.id = id;
            this.fn = fn;
            this.ln = ln;
            this.age = age;
        }
Инициализация в список
public static List<Person> Init()
        {
            List<Person> pp = new List<Person>();
            pp.Add(new Person(10, "Vasia", "Pupkin", 23));
            pp.Add(new Person(12, "Kasia", "Lupkin", 27));
            pp.Add(new Person(19, "Masia", "Gupkin", 15));
            pp.Add(new Person(25, "Hasia", "Hupkin", 67));
            pp.Add(new Person(89, "Basia", "Nupkin", 33));
            return pp;
        }
Теперь не знаю как сделать так, что бы перед id например написать id:, и тд. Вот как я думал, но делает не то, не знаю как обратиться к каждому элементу из объекта отдельно(я про это что бы перед id например написать id:, и тд.)
        private static void SaveToJsonSimple(List<Person> pp)
        {
            System.IO.StreamWriter file = new System.IO.StreamWriter("D:\\Programm\\Person.json");
            file.Write("{");
            for (int i = 0; i < pp.Count; i++)
            {
                if (i == 0)
                {
                    file.Write("id:" + pp[i] + ", ");
                }
                else if (i == 1)
                {
                    file.Write("fn:" + pp[i] + ", ");
                }
                else if (i == 2)
                {
                    file.Write("ln:" + pp[i] + ", ");
                }
                else if (i == 3)
                {
                    file.Write("age:" + pp[i]);
                }
            }
            file.Write("}");
            file.Close();
        }

Решение задачи: «Сериализация Person в JSON»

textual
Листинг программы
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
 
namespace ConsoleApp18
{
    public class Person
    {
        public int id;
        public string fn;
        public string ln;
        public int age;
 
        public Person(int id, string fn, string ln, int age)
        {
            this.id = id;
            this.fn = fn;
            this.ln = ln;
            this.age = age;
        }
    }
    class Program
    {
        static void Main(string[] args)
        {
            List<Person> pp = new List<Person>();
 
            pp.Add(new Person(10, "Vasia", "Pupkin", 23));
            pp.Add(new Person(12, "Kasia", "Lupkin", 27));
            pp.Add(new Person(19, "Masia", "Gupkin", 15));
            pp.Add(new Person(25, "Hasia", "Hupkin", 67));
            pp.Add(new Person(89, "Basia", "Nupkin", 33));
 
            System.IO.StreamWriter file = new System.IO.StreamWriter("C:\\TestFrom\\Person.json");
 
 
            var Count = pp.Count;
            if (Count > 1)
            {
                file.Write("[");
            }
            for (int i = 0; i < pp.Count; i++)
            {
                file.Write("{\n");
                file.Write($""id:": {pp[i].id},\n");
                file.Write($""fn:": "{pp[i].fn}",\n");
                file.Write($""ln:": "{pp[i].ln}",\n");
                file.Write($""age:": {pp[i].age}\n");
                file.Write("}");
                if (Count > 1)
                {
                    file.Write(",\n");
                }
            }
            if (Count > 1)
            {
                file.Write("]");
            }
 
            file.Close();
        }
    }
    
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

6   голосов , оценка 3.667 из 5