fullstack

[Unity] Json 파일 간단하게 Class 변환하기 (Json.NET)

Unity

Json.NET을 이용하여 Json 파일을 간단하게 Class 로 변환할 수 있다

Json.NET 에셋스토어에서 받을 수 있다

 

우선 간단한 Json 파일을 만들어 보았다

{
    "level" : 0,
    "coin" : 0
}

 

그 다음에는 이 정보를 파싱할 Class도 만들어 보자

[Serializable]
class Data
{
    int level;
    int coin;
}

 

주의할 점은 Class 에 [Serializable] 를 붙여 직렬화 해 주어야 하고, 변수명을 서로 맞춰 주어야 한다

 

TextAsset jsonData = Resources.Load("Json/Data") as TextAsset;
_data = JsonUtility.FromJson<GameData>(jsonData.ToString());

 

Json 파일은 Resources 경로에 Json/Data.json 으로 저장하여 간단하게 Resources.Load 를 이용하여 불러와 보았다

이렇게 사용하면 Json Object를 생성하여 일일히 파싱하는 번거로움을 줄일 수 있다

 

Class를 다시 Json으로 변환할때는 JsonUtility.ToJson(_data) 이런식으로 사용할 수 있다