< Json은 언제 쓰나요? >
- 저장할 때(예를 들면 Save & Load를 구현할 때)
- 통신할 때
- 기타 등등...
< 개념적인 이해 >
Json은 코드를 저장하는 택배라고 생각하면 쉽다!
저장하기 위해선 코드를 Json으로 변환해 저장하고
불러오기 위해선 Json을 가져와 코드로 변환해주면 된다
이때 json과 코드 사이의 변환은 유니티에서 지원해준다!
< Json 사용법 >
* 저장하기
1. 저장할 코드(데이터)를 만든다
2. json으로 변환한다
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
class PlayerData
{
public string name;
public int level;
public int coin;
public bool skill;
}
public class JsonTest : MonoBehaviour
{
// 1. 데이터를 만든다
PlayerData player = new PlayerData() { name = "yk", level = 1, coin = 100, skill = false };
void Start()
{
// 2. json으로 변환한다
string jsonData = JsonUtility.ToJson(player);
}
}
이때, json은 string 타입임을 알 수 있다!
jsonData를 출력해보면 아래와 같다.

* 불러오기
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
class PlayerData
{
public string name;
public int level;
public int coin;
public bool skill;
}
public class JsonTest : MonoBehaviour
{
// 1. 데이터를 만든다
PlayerData player = new PlayerData() { name = "yk", level = 1, coin = 100, skill = false };
void Start()
{
// 2. json으로 변환한다
string jsonData = JsonUtility.ToJson(player);
// 대응할 데이터 형식을 <>에 적어준다!
PlayerData loadPlayer = JsonUtility.FromJson<PlayerData>(jsonData);
}
}
JsonUtility함수를 이용해 코드로 변환한다.
이때, <>에 어떤 데이터 형식으로 변환할 것인지 넣어주어야 한다.
json을 변환한 loadPlayer는 player 변수와 같은 상태가 된다!
위 예제에서는 간단하게 변환해보았지만 실제 프로젝트에선 외부의 데이터를 가져올 때 쓴다던가 save&load를 구현할 때 쓴다.
< 참고 자료 >
https://www.youtube.com/watch?v=-Myy_fRljo0
'Unity > Client' 카테고리의 다른 글
| [Unity] 빌드하기 전 주의할 점 (0) | 2024.01.30 |
|---|---|
| [Unity] 스크롤뷰가 스크롤이 안 될 때 해결방법 (0) | 2023.06.13 |
| [Unity] 좌표계와 함수 (0) | 2023.05.07 |
| [Unity] GetComponentsInChildren 검색 범위 (0) | 2023.05.04 |
| [Unity] 이미지로 material 만들기 (0) | 2023.04.11 |