Json을 이용하여 Excel 파일을 역직렬화 하기

2020. 4. 21. 18:28C#/수업내용

1. Excel파일을 만들어서 데이터 정리

2. Excel -> Json 파일로 만들기 (Json 파일의 형식은 UTF-8)

3. "using System.IO;" 안에 있는 File 클래스를 이용하여 파일 읽어들이기.

4. Visual Studio 내의 상단 탭에 위치하는 [도구]-[Nuget 패키지 관리자]-[솔루션용 Nuget 패키지 관리]

5. 바인딩(맵핑 클래스) 만들기 (ex. xxxData.cs)

6. 바인딩 클래스 내부의 데이터 변수명은 엑셀의 컬럼명과 동일하게 만들고, Public처리

7. Json 문자열을 Dictionary 객체에 역직렬화하여 옮겨 닮기

 

<App.cs>

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
 
namespace Study_012
{
 
    class App
    {
        public App()
        {
            string path = "./Character.json";
            string json = "";
            json = File.ReadAllText(path);
 
            CharacterData[] arrCharacterDatas = JsonConvert.DeserializeObject<CharacterData[]>(json);
 
            Dictionary<int, CharacterData> dicCharacter = new Dictionary<int, CharacterData>();
 
            foreach(CharacterData data in arrCharacterDatas)
            {
                dicCharacter.Add(data.id, data);
            }
 
            CharacterData dicData = dicCharacter[100];
 
            Console.WriteLine($"{dicData.id}, {dicData.name}, {dicData.grade}");
        }       
    }    
}
 
 

 

'C# > 수업내용' 카테고리의 다른 글

업적 달성 - #Dictionary #Json #Table  (0) 2020.04.24
업적 - Dictionary/File Read Write  (0) 2020.04.22
배열 - 캐릭터의 무기 습득 및 장착  (0) 2020.04.20
배열의 복사(Deep/Shallow)  (0) 2020.04.16
스타크래프트 - 배럭  (0) 2020.04.14