1. JSON이란?
- 데이터를 텍스트 기반 포맷으로 쉽게 패킹하거나 언패킹할 수 있음
- 파싱을 하지 않고 스트링을 객체데이터로 만들 수 있음
- generate type을
- 쓰기는 편하다
- 데이터가 커지만 부하가 있음 느려짐 (개선한 경험 있으면 좋음)
- JSON
2. 유니티에서 JSON 사용하기
- JsonUtility 클래스를 사용해서 Unity 오브젝트를 JSON 포맷으로 상호 전환 할 수 있음
클래스 만들기
- JSON 시리얼라이저와 연동 되려면 클래스에 [Serializable] 속성 필요
[Serializable]
public class MyRobot
{
public int serialNumber;
public float batteryLevel;
public string robotName;
}
클래스 데이터 추가 및 인스턴스 생성
MyRobot myRobot = new MyRobot();
myRobot.serialNumber = 1294829492;
myRobot.batteryLevel = 78.2f;
myRobot.robotName = "DeliveryRobot";
오브젝트를 json으로 변환
string json = JsonUtility.ToJson(myRobot);
json을 오브젝트로 변환
myRobot = JsonUtility.FromJson<myRobot>(json);
3. 유니티에서 어떻게 쓰는 것이 잘 쓰는 것인가?
- Serializable한 데이터 클래스 필요
- Key-Value Pair 데이터 구조이어서 Key 이름을 잘 지어야 함 (key로 파싱)
- 전체 데이터 클래스 크기가 너무 길지 않는 것이 좋음
- 유지보수 필요할 여지 있으면 버전 추가
- (contain key 많이 쓰면 관리이슈 커짐)
참고자료
JSON 직렬화 Unity문서