C#

객체 한 개 직렬화/역직렬화

s0002 2023. 1. 12. 23:50

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Newtonsoft.Json;
using System.IO;


namespace Study11
{
    class App
    {
        //생성자 
        public App()
        {
            //직렬화
            Item item0 = new Item() { Name = "장검", Damage = 10 };
            string json0 = JsonConvert.SerializeObject(item0);
            Console.WriteLine(json0);
            File.WriteAllText("my_item0.json", json0);

            Item item1 = new Item() { Name = "단검", Damage = 5 };
            string json1 = JsonConvert.SerializeObject(item1);
            Console.WriteLine(json1);
            File.WriteAllText("my_item1.json", json1);

            Item item2 = new Item() { Name = "창", Damage = 7 };
            string json2 = JsonConvert.SerializeObject(item2);
            Console.WriteLine(json2);
            File.WriteAllText("my_item2.json", json2);

            Item item3 = new Item() { Name = "도끼", Damage = 6 };
            string json3 = JsonConvert.SerializeObject(item3);
            Console.WriteLine(json3);
            File.WriteAllText("my_item3.json", json3);

            Item item4 = new Item() { Name = "지팡이", Damage = 1 };
            string json4 = JsonConvert.SerializeObject(item4);
            Console.WriteLine(json4);
            File.WriteAllText("my_item4.json", json4);


            //역직렬화
            string json00 = File.ReadAllText("./my_item0.json");
            item0 = JsonConvert.DeserializeObject<Item>(json00);
            Console.WriteLine(item0);
            Console.WriteLine("name:{0}, damage:{1}", item0.Name, item0.Damage);

            string json01 = File.ReadAllText("./my_item1.json");
            item1 = JsonConvert.DeserializeObject<Item>(json01);
            Console.WriteLine(item1);
            Console.WriteLine("name:{0}, damage:{1}", item1.Name, item1.Damage);

            string json02 = File.ReadAllText("./my_item2.json");
            item2 = JsonConvert.DeserializeObject<Item>(json02);
            Console.WriteLine(item2);
            Console.WriteLine("name:{0}, damage:{1}", item2.Name, item2.Damage);

            string json03 = File.ReadAllText("./my_item3.json");
            item3 = JsonConvert.DeserializeObject<Item>(json03);
            Console.WriteLine(item3);
            Console.WriteLine("name:{0}, damage:{1}", item3.Name, item3.Damage);

            string json04 = File.ReadAllText("./my_item4.json");
            item4 = JsonConvert.DeserializeObject<Item>(json04);
            Console.WriteLine(item4);
            Console.WriteLine("name:{0}, damage:{1}", item4.Name, item4.Damage);

        }
    }
}

'C#' 카테고리의 다른 글

미션, 아이템 엑셀->json->데이터  (0) 2023.01.13
리스트, 스택, 큐 직렬화/역직렬화  (0) 2023.01.13
linq 연습  (0) 2023.01.12
json 이용해서 객체 직렬화/역직렬화 하기  (0) 2023.01.12
대리자  (0) 2023.01.11