본문 바로가기
Unity3D/Unity & C#

Unity & C# ~ JsonConvert 사용법

by 캬캬백곰 2023. 2. 24.
728x90
using System;
using System.IO;

using UnityEngine;

using Newtonsoft.Json;

//serializable data
[Serializable]
public class TestData
{
    public string testStr;

    public TestData(string _inputString)
    {
        testStr = _inputString;
    }
}

public class TestJson : MonoBehaviour
{
    // Start is called before the first frame update
    void Start()
    {
        //load
        string filePath = Application.dataPath + "/TestData.json";

        string[] readText = File.ReadAllLines(filePath);

        foreach (string line in readText)
        {
            var loadData = JsonConvert.DeserializeObject<TestData>(line);
            Debug.Log(loadData.testStr);
        }

        //save
        TestData testData = new TestData("test code...");

        using (StreamWriter sr = new StreamWriter(filePath, File.Exists(filePath) ? true : false))
        {
            try
            {
                var saveData = JsonConvert.SerializeObject(testData);
                sr.WriteLine(saveData);
                sr.Close();
            }
            catch (Exception ex)
            {
                Debug.Log(ex.Message);
            }
        }
    }
}
728x90
반응형