Newtonsoft Json 라이브러리
– Unity에서 JSON 사용에 기본으로 제공되는 JsonUtility가 기본 제공 되고 있다.
하지만, 중첩 구조나 리스트, 딕셔너리, 그리고 커스터마이징이 필요할 때는 한계를 느끼게 된다.
그래서 Newtonsoft Json 설치와 사용법에 대해서 알아 보자.
- Newtonsoft Json:
– 복잡한 구조도 쉽게 처리
– 직관적인 API
– 다양한 포맷 옵션 지원
– 커스터마이징 자유로움
– 설치 방법
1. 패키지 매니저 열기
상단 메뉴에서 Window / Package Manager 선택
2. 왼쪽 상단 +버튼 Install package by name… 선택
(버전에 따라 Add package by name…으로 표기)

3. com.unity.nuget.newtonsoft-json 입력 후 설치(Install or Add)

설치가 완료되면 코드에서 바로 사용할 수 있다.
– 사용 방법
가장 많이 쓸 기능인 Serialize(객체를 JSON으로)와 Deserialize(JSON을 객체로)에 대해서 알아 보자.
- 예제로 사용한 Data Class
[System.Serializable]
public class TestData {
public string name;
public int age;
}
- 객체를 JSON 문자열로 변환하기 (Serialize)
using Newtonsoft.Json;
using UnityEngine;
public class SerializeClass : MonoBehaviour {
private void Start() {
TestData td = new TestData();
td.name = "Tom";
td.age = 23;
string jsonStr = JsonConvert.SerializeObject(td, Formatting.Indented);
Debug.Log(jsonStr);
}
}
- JSON 문자열을 객체로 변환하기 (Deserialize)
using Newtonsoft.Json;
using UnityEngine;
public class SerializeClass : MonoBehaviour {
private void Start() {
string jsonStr = "{\"name\":\"Tom\",\"age\":23}";
TestData td = JsonConvert.DeserializeObject<TestData>(jsonStr);
Debug.Log($"Name: {td.name}, Age: {td.age}");
}
}
유니티에서 기본적으로 JSON 지원을 하지만 다차원 배열 등 이중구조일 경우 Json으로 변환이 어렵다.
하지만 설치도 쉽고 사용도 편한 Newtonsoft Json을 쓰면 해결 된다.
아니면, List나 Dictionary를 커스터마이징 하면 사용 할 수는데, 시간나면 그 부분도 포스팅 하겠다.