ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Json + Excel 응용(JsonUtility)
    유니티/Json 2024. 4. 26. 01:34

    원래는 쭉 Json.Convert로 사용할 생각이었지만 아무리 생각해도

    지금 상황에서 더 편해보이는 JsonUtility를 사용하지 않을 이유가 없을것같다

     

    그리고 후에 볼 수도 있으니 정리글을 간략하게나마 적어보려 한다

     

    public class test1 : MonoBehaviour
    {
        class Data
        {
            public int id;
            public string name;
            public int count;
        }
        void Start()
        {
            Data fruit = new Data() { id = 101, name = "apple", count = 3 };
    
            //Json으로 변환
            string jsondata = JsonUtility.ToJson(fruit);
            Debug.Log(jsondata);
        }
    }

    우선 이번엔 미리 Json 파일을 준비하지 않고 내가 직접 변수 fruit안에 클래스값을 넣어주었다

    가장 먼저 클래스 파일을 Json타입 파일로 변환해주겠다

     

    string jsondata = JsonUtility.ToJson(fruit);

    그리고 이게 jsondata 변수에 Json타입으로 변환해준 변수 fruit값을 넣어주는 코드이다

    캬 정말 쉽다. 심지어 To/FromJson이라 구분하기도 간편하다

     

    이번엔 FromJson을 이용하여 Json 파일을 원래 클래스 파일로 변환해주겠다

     

    public class test1 : MonoBehaviour
    {
        class Data
        {
            public int id;
            public string name;
            public int count;
        }
        void Start()
        {
            Data fruit = new Data() { id = 101, name = "apple", count = 3 };
            //Json 타입으로 변환(직렬화)
            string jsondata = JsonUtility.ToJson(fruit);
            //클래스 타입으로 변환(비직렬화)
            Data data = JsonUtility.FromJson<Data>(jsondata);
    
            Debug.Log(data.id);
            Debug.Log(data.name);
            Debug.Log(data.count);
        }
    }

    Data data = JsonUtility.FromJson<Data>(jsondata);

    당연히 클래스타입을 받을 변수이니 Data로 변수 선언을 해준뒤 FromJson으로 받아주는데

    ToJson과 다른점이 있다면

    1. <꺽쇠괄호>안에 들어갈 데이터 클래스 이름을 넣어준뒤

    2. (소괄호)안에 데이터값이 들어간 변수를 넣어준다

     

    정말 너무 보기 쉽고 간편하다. 당분간은 이 방법을 써야겠다

    '유니티 > Json' 카테고리의 다른 글

    Json + Excel 응용(Json.Convert)  (0) 2024.04.25
    Json 기초 정의  (0) 2024.02.14
Designed by Tistory.