Unity Json사용하기.

안또니오·2022년 8월 24일
0

유니티

목록 보기
2/6

회사 신입 프로젝트에서 맡은 일로 여러 데이터를 쓸 일이 있는데
예를 들면 수많은 걸그룹들을 두고, 이들의 이름과 멤버 수 등을 관리하고 저장할 필요가 있었다.
-데이터 종류는 내가 정했다.

처음엔 단순 배열을 사용하다
Tuple로 묶어 이용하다
결국 Json으로 이용했다.

Json이란 일종의 포맷으로, 데이터를 전달하거나 저장하는 용도로 많이 사용한다.

나는 대체로 서버와 통신을 할 때 많이 써왔다.

유니티에서 Json을 이용하기는 어렵지 않다.
JsonUtility 클래스를 사용하면 제이슨과 객체를 오가는 것이 어렵지 않다.

대체로 Json은 string, 문자열로 여겨지는데,
때문에 Json으로 바꾸는 경우 string으로 반환되고,
Json을 바꾸는 경우, 형식에 맞는 class로 반환한다.

예를 들면 이런 식이다.

{
    "data": {
        "name": "오마이걸",
        "memberCount": 7
    }
}

이렇게 생긴 Json데이터 형식이 있다고 한다면,

나는 아래와 같이 생긴 클래스가 필요하다.

[System.Serializable]
public class jsonClass
{
    public string name;
    public int memberCount;
}

중요한 것은
클래스 위에 [System.Serializable]가 적혀있어야하고,
클래스와 멤버변수들은 public이어야 한다.
또한, 클래스의 멤버변수의 이름은 Json의 왼쪽(컬럼이라고 하는 것 같다)와 같아야 한다.
클래스가 만들어지면, 위에 있는 Json데이터를 가져와서 아래와 같이 코드를 작성해주면, json은 class로 변한다.

jsonClass jc = JsonUtility.FromJson<jsonClass>(string json);

반대라면 더 쉽다.

string json = JsonUtility.ToJson(object obj);

파일을 저장하고 읽는 것 또한 간단하다.
네임스페이스는 System.IO를 이용한다.

//저장
File.WriteAllText(string filePath, string data);

//읽기
string data = File.ReadAllText(string filepath);
profile
2020. 11월 공부시작.

0개의 댓글