1. 라이브러리로 생각되긴하는데, C#에서의 솔루션용 Nuget 패키지 의미를 잘모르겠다.

 

using Newtonsoft.Json;

 


2. File 클래스를 사용하려면 추가

using System.IO;

> 읽기 활용

1. 바로 해당 인스턴스 Dictionary로 전환

try
{
path = "./data/hero_data.json";
if (File.Exists(path))
{
json = File.ReadAllText(path);
this.dicHeroData = JsonConvert
.DeserializeObject<HeroData[]>(json)
.ToDictionary(x => x.id, x => x);
}
//Newtonsoft.Json 축약가능 using Newtonsoft.Json; 하면

 

2. 배열타입 인스턴스에서 다시 Dictionary로 전환

var json = File.ReadAllText("./achievement_data.json");
var arrAchievementDatas = JsonConvert.DeserializeObject<AchievementData[]>(json);
foreach (var data in arrAchievementDatas) {
this.dicAchievementDatas.Add(data.id, data);
}

 


> 쓰기

public void Save()
{
try
{
var json = JsonConvert.SerializeObject(this);
File.WriteAllText("./info/info.json", json);
}
catch (Exception e)
{
Console.WriteLine(e.Message);
throw;
}
}

 


> 폴더 생성

DirectoryInfo folder = new DirectoryInfo("./info");
if (!folder.Exists)
{
folder.Create();
}

'c# 강의 > 수업내용(문법 관련)' 카테고리의 다른 글

20200505 - 2차원 배열 (캐릭터 이동)  (0) 2020.05.06
DateTime / Timer 활용  (0) 2020.04.29
20200428 - 문자열 콤마 찍기  (0) 2020.04.28
20200427 - 싱글톤  (0) 2020.04.28
20200423 - Achievement  (0) 2020.04.23

+ Recent posts