C#프로그래밍

직렬화 역직렬화 연습

노재두내 2023. 7. 27. 18:17

1.역직렬화( 문자열->객체)

//파일 읽기

string json = File.ReadAllText("./item_data.json"); -> string 타입

//역직렬화

itemData[] arrItemDatas = JsonConvert.DeserializeObject<ItemData[]>(json) --> json 즉 item_data.json 을 보면 배열인지 아닌지 알 수 있음

// dictionary에 옮겨담기( id를 키로)

Dictionary<int, ItemData> dicItemDatas;

.

.

dicItemDatas = arrItemDatas.ToDictionary(x=>x.id);

Console.WriteLine(this.dicItemDatas.Count) // 2 가 잘 출력됨

 

 

2.직렬화 

public ItemInfo GetInfo()
        {
            return this.info;
        }

 

//객체 -> 문자열

string json = JsonConvert.SerializeObject(item.GetInfo()); --> object 

Console.WriteLine(json);

//파일로 저장

File.WriteAllText("./item_info.json", json);