Unity Json 파일 읽고 열기

2022. 9. 30. 12:43Unity

using System.Collections; 
using System.Collections.Generic;
using UnityEngine;
using System;
// 파일 저장, 로드를 하기 위해서
using System.IO;

public class SMS_JSONTest : MonoBehaviour
{
    // 케릭터 정보
    [Serializable]
    public struct PlayerData
    {
        public string Name;
        public string Level;
        public bool isDead;
        public string[] Items;
    }

    // 플레이어 정보 객체 생성
    public PlayerData playerData;

    // 유니티의 데이터를 Json파일로 저장하기
    [ContextMenu("To Json Data")] // 유니티 인스펙터 확장메뉴에서 나오는 메뉴나오게 하는 것
    private void SavePlayerDataToJson()
    {
        // playerData를 Json파일로 변환한다. 
        // JsonUtility.ToJson(playerData, true); true는 Json파일을 보기 좋게 저장해준다.
        string jsonData = JsonUtility.ToJson(playerData, true);
        // 파일을 유니티 프로젝트 경로에 저장하기(윈도우)
        string path = Application.dataPath + "/playerData.json";
        // 경로 구분자가 확실치 않은 경우에는 아래와 같이 사용한다. (애플 등)
        //string path = Path.Combine(Application.dataPath, "/playerData.json");
        // 파일로 저장 (경로, 저장할 문자열(데이터, 파일))
        File.WriteAllText(path, jsonData);
    }

    // Json파일를 유니티 데이터에 로드하기
    [ContextMenu("From Json Data")]
    private void LoadPlayerDataToJson()
    {
        // 파일 경로를 지정해준고
        string path = Application.dataPath + "/playerData.json";
        // Json파일을 읽어서 가져온다
        string jsonData = File.ReadAllText(path);
        // Json 데이터 변환하기 <PlayerData> : 변환하고 싶은 타입을 넣어준다
        playerData = JsonUtility.FromJson<PlayerData>(jsonData);
        
    }

}

 읽어올때 정확하게 읽어오기 때문에 정확하게 신경쓰자