본문 바로가기

Unity/정보

[Unity 유니티] 유니티에서 Json으로 데이터 관리하기 - 불러오기 / 읽기 (2)

Json 파일 불러오기 / 읽기

지난 포스팅에서 Json으로 데이터를 저장하는 방법을 알아보았다. 이번에는 저장된 Json 파일을 Unity에서 불러와 활용하는 방법을 소개해보려고 한다.


1. Json 파일 불러오기 기초

Unity에서 Json 파일을 불러오는 기본 방법은 파일을 읽은 후 JsonUtility.FromJson을 사용해 객체로 변환하는 것이다. 아래 코드로 Json 파일을 불러올 수 있다.

using System.IO;
using UnityEngine;

[System.Serializable]
public class PlayerData
{
    public string playerName;
    public int score;
}

public class JsonLoadExample : MonoBehaviour
{
    private string filePath;

    void Start()
    {
        filePath = Application.persistentDataPath + "/playerData.json";
        
        PlayerData loadedData = LoadData();
        
        if (loadedData != null)
        {
            Debug.Log("불러온 데이터: " + loadedData.playerName + ", " + loadedData.score);
        }
        else
        {
            Debug.LogWarning("데이터를 불러오기 실패");
        }
    }

    PlayerData LoadData()
    {
        if (File.Exists(filePath))
        {
            string jsonData = File.ReadAllText(filePath);
            return JsonUtility.FromJson<PlayerData>(jsonData);
        }
        Debug.LogWarning("파일이 존재하지 않습니다");
        return null;
    }
}

설명

  • File.Exists : 파일의 존재 여부를 확인한다.
  • File.ReadAllText : 파일의 모든 내용을 읽어와 문자열로 반환한다.
  • JsonUtility.FromJson : Json 문자열을 객체로 변환한다.

2. Json 파일 불러온 데이터 활용하기

불러온 Json 데이터를 활용해 게임 내 다양한 설정을 업데이트할 수 있다. 예를 들어, 플레이어의 데이터를 불러와 UI에 표시하거나 게임 상태를 설정할 수 있다.

void ApplyPlayerData(PlayerData data)
{
    if (data == null) return;
    
    // UI에 플레이어 이름과 점수를 표시하기
    playerNameText.text = data.playerName;
    playerScoreText.text = data.score.ToString();
}

LoadData로 불러온 PlayerData 객체를 게임 오브젝트나 UI 등에 적용하여 게임 진행 상태를 복구하거나 사용자 맞춤 데이터를 반영할 수 있다.

마무리

이제 Json 파일을 Unity에서 불러와 데이터로 활용할 수 있다. Json 파일 불러오기는 저장한 데이터를 쉽게 복구하고 게임 내 다양한 설정에 적용하는 데 유용하다. Json을 활용해 효율적인 데이터 관리를 해보자.