less than 1 minute read

Newtonsoft 의 json 저장 패키지

스크린샷 2024-05-16 171643

이렇게 패키지 매니저를 열고 git URL로 다운을 클릭

스크린샷 2024-05-16 171653

해당 주소를 입력하면 끝

json에 중괄호로 묶인 것은 객체 내의 key, value들을 뜻하고, 대괄호는 순서가 있는 일반 배열을 의미한다.

Newtonsoft json 사용법

우선 using Newtonsoft.Json; 적용

직렬화 :

string jsonString = JsonConvert.SerializeObject(Object);
string filePath = Path.Combine(dataPath, fileName);
File.WriteAllText(filePath, jsonString );
무려 Dictionary 맴버 변수까지 전부 알아서 저장해준다

역직렬화 :

string jsonString = File.ReadAllText(filePath);
MyClass object = JsonConvert.DeserializeObject(jsonString);

주의할 점:

Monobehaviour 를 상속한 클래스는 직렬화 불가능
Vector3 또한 에러 무시를 할 수는 있지만 좋은 저장 용 데이터가 아니다.
대신 유니티 기본 JsonUtility를 쓰면 Vector3, Monobehaviour를 상속한 애도 저장이 된다.
대신 얘는 Dictionary를 저장 못한다.