Json은 (JavaScript Object Notation)의 약자로 JavaScipt에서 오브젝트를 만들때 사용하는 표현방식입니다.
Json은 텍스트로 이루어져있기 때문에 사람과 기계 모두 읽고 쓰기 좋다는 장점을 가지고 있습니다.
또한 프로그램 언어와 플랫폼에 독립적이므로, 서로 다른 시스템간에 객체 교환에도 좋습니다.
제가 사용한 Json 함수를 사용하기 위해선 먼저 패키지를 설치해줘야합니다.
본 계시글에서는 NewtonSoft의 Json패키지를 사용했습니다.
1. 패키지 설치
비주얼스튜디오에서 도구 -> NuGet 패키지 관리자 -> 솔루션용 NuGet 패키지 관리에 들어갑니다.
이후 찾아보기에서 json을 검색한 후 Newtonsoft.Json을 클릭 후 프로젝트에 해당 패키지를 설치합니다.
원래는 마이크로소프트에서 제공하는 json패키지를 사용했으나 Json변환이 잘 되지않아서 Newtonsoft를 이용했습니다.
2. Json 직렬화
먼저 다운받은 패키지의 기능을 사용하기 위해 using문에 위와 같은 구문을 추가 합니다.
Json은 텍스트로 이뤄진 파일이기 때문에 string 변수에 저장할 수 있습니다.
JsonCovert.SerializeObject(Json으로 변환할 오브젝트) 키워드를 사용해 오브젝트를 문자열로 직렬화 시킬 수 있습니다.
3. Json 파일 저장
Json파일이 저장될 주소를 저장할 string 변수 filePath를 선언해주었습니다.
저장 경로는 원하는 폴더에 상단에 파일 경로 부분을 클릭하면 쉽게 알 수 있습니다.
이후 File.WriteAllText(저장 위치, 저장파일)를 이용해 Json 파일을 저장했습니다.
저장위치에 위와 같이 json으로 파일들이 생성된 것을 확인 할 수 있습니다.
4. Json 역직렬화 + 불러오기
먼저 File.ReadAllText(저장경로)를 통해 저장해둔 json 파일을 읽어서 string 변수에 저장합니다.
이후 JsonConvert.DeserializeObjct<자료형>(string으로 된 json파일) 메서드를 사용해
직렬화되어있는 데이터들을 역직렬화시켜 업데이트 되어야할 오브젝트들에 넣어주면 됩니다.
5. 추가 (List로 Json 관리)
json의 저장방식을 string 배열이 아닌 List를 사용해서 관리하면 이후 데이터 추가나 삭제되었을때
배열의 크기를 수정하거나 반복문이나 조건문의 조건을 따로 수정하지 않아도 되기떄문에 더 편하게 관리할 수 있습니다.
'C#' 카테고리의 다른 글
C# Partial (2) | 2024.01.05 |
---|---|
C# Static (2) | 2024.01.04 |
C# Class (0) | 2024.01.04 |
C# 틱택토 만들기(Console) (1) | 2023.12.30 |
C# 형변환 (Casting) (1) | 2023.11.30 |