Unity 매뉴얼: JSONSerialize 사용법
개요
JSONSerialize는 Unity에서 객체를 JSON 형식으로 직렬화하는 기능을 제공합니다. 이를 통해 데이터의 저장과 전송이 용이해집니다.
JSONSerialize 모듈
JSONSerialize 모듈 내의 JsonUtility 클래스를 사용하면 Unity 개체를 쉽고 빠르게 JSON 포맷으로 변환할 수 있습니다. 이 기능은 다양한 데이터 처리 상황에서 유용하게 활용될 수 있습니다.
주요 기능
- 객체를 JSON 문자열로 변환
- JSON 문자열을 객체로 복원
- Unity의 다양한 데이터 구조 지원
사용 예제
객체 직렬화
Unity 객체를 JSON 문자열로 변환하는 기본 예제입니다.
[System.Serializable]
public class Player {
public string name;
public int score;
}
void SavePlayerData() {
Player player = new Player();
player.name = "홍길동";
player.score = 100;
string json = JsonUtility.ToJson(player);
Debug.Log(json); // {"name":"홍길동","score":100}
}
객체 역직렬화
JSON 문자열을 Unity 객체로 변환하는 방법입니다.
void LoadPlayerData(string json) {
Player player = JsonUtility.FromJson<Player>(json);
Debug.Log("Player Name: " + player.name);
Debug.Log("Player Score: " + player.score);
}
활용 예시
게임 데이터 저장
게임의 상태나 플레이어 정보를 JSON 형식으로 저장하여, 게임이 종료됐다가 다시 시작할 때 데이터를 복원하는 데 사용할 수 있습니다.
서버와의 데이터 통신
서버에서 받은 JSON 데이터를 Unity 객체로 변환하여 게임 내에서 활용하거나, 게임 데이터를 JSON 형식으로 서버에 전송할 수 있습니다.
주의사항
- JSONSerialize는 기본적으로
public필드만 직렬화합니다.private필드는 직렬화되지 않으므로 주의해야 합니다. - Unity의
JsonUtility는 복잡한 객체 구조를 완벽하게 처리하지 못할 수 있으므로 필요에 따라 맞춤형 직렬화 로직 구현이 필요할 수 있습니다.
결론
JSONSerialize 모듈을 이용하면 Unity에서 객체를 JSON 형식으로 쉽게 변환하고 복원할 수 있습니다. 이를 통해 게임의 데이터 처리 방식이 더욱 간편해지고 다양해질 것입니다. JSON을 활용해 게임의 데이터를 효과적으로 관리해 보세요.