[Unity] JSON 직렬화/역직렬화(1)
본문 로딩 중...
댓글 0
댓글을 작성하려면 로그인이 필요합니다.
아직 댓글이 없습니다. 첫 번째 댓글을 작성해보세요!
JSON은 데이터를 저장하고 교환하기 위한 텍스트 포맷이다.
사람이 읽기 쉽고 중첩 구조를 표현할 수 있어 게임 세이브 데이터나 설정 파일 등에 적합하다.
{
"playerName": "ABC",
"lives": 10,
"health": 10.999,
"position": {
"X": 1.0,
"Y": 2.0,
"Z": 3.0
},
"items": ["검", "방패", "물약"]
}
position안에 새로운 객체 구조라 볼 수 있다
라이브러리 소개
[SerializeField], [Serializable] 규칙이 그대로 적용핵심 특징:
| 메서드 | 용도 |
|---|---|
| JsonUtility.ToJson(obj, prettyPrint) | 객체 → JSON 문자열 |
| JsonUtility.FromJson(json) | JSON 문자열 → 새 객체 |
| JsonUtility.FromJsonOverwrite(json, obj) | 기존 인스턴스의 필드를 JSON 값으로 덮어쓰기 |
Json을 직렬화 하는 다른 방법으로 Newtonsoft.Json 라이브러리를 이용하는 것이다.
JsonUtility는 위와 같이 안되는 객체들도 있고 제약이 많아서
성능이 중요한 요소일 때나 단순한 데이터 구조일 때를 제외하면 Newtonsoft.Json을 이용한다고 한다.
2편에서는 Newtonsoft.Json을 정리해보겠다.