유니티(unity) 에서 간단한 Json(제이슨) 사용법
먼저 아래 주소를 통해 파일을 다운로드 합니다.
↓↓↓↓
https://sourceforge.net/projects/json-lib/
아님 아래 파일 다운 받으세요~!
다운 받은 폴더 -> bin -> LitJson.dll 파일을 찾아 아래 그림처럼 unity Assets에 추가합니다.
Assets 에서 Plugins 폴더 생성
그림과 같이 드래그 하여 파일을 복사 합니다.
테스트용 Create Empty 하나 생성 하신후 JsonTest 용 스크립트를 생성하여 생성한 오브젝트에 스크립트를 추가합니다.
간단한 Save스크립트
using System.Collections; using System.Collections.Generic; using UnityEngine; using System.IO; using LitJson; public class PlayerInfo { public int ID; public string Name; public double Gold; public PlayerInfo(int id, string name, double gold) { ID = id; Name = name; Gold = gold; } } public class JsonTest : MonoBehaviour { public List<PlayerInfo> playerInfoList = new List<PlayerInfo>(); // Use this for initialization void Start () { SavePlayerInfo(); } public void SavePlayerInfo() { Debug.Log("SvePlayerInfo()"); // >> : playerInfoList.Add(new PlayerInfo(1, "이름1", 1001)); playerInfoList.Add(new PlayerInfo(2, "이름2", 2002)); playerInfoList.Add(new PlayerInfo(3, "이름3", 3003)); playerInfoList.Add(new PlayerInfo(4, "이름4", 4004)); playerInfoList.Add(new PlayerInfo(5, "이름5", 5005)); // << : JsonData infoJson = JsonMapper.ToJson(playerInfoList); File.WriteAllText(Application.dataPath + "/Resources/Data/PlayerInfoData.json", infoJson.ToString()); } // Update is called once per frame void Update () {
} } |
이러면 본인이 지정된 폴더로 정보가 저장이 됩니다.
간단한 Load스크립트
using System.Collections; using System.Collections.Generic; using UnityEngine; using System.IO; using LitJson; public class PlayerInfo { public int ID; public string Name; public double Gold; public PlayerInfo(int id, string name, double gold) { ID = id; Name = name; Gold = gold; } } public class JsonTest : MonoBehaviour { public List<PlayerInfo> playerInfoList = new List<PlayerInfo>(); // Use this for initialization void Start () { LoadPlayerInfo(); } public void LoadPlayerInfo() { Debug.Log("LoadPlayerInfo()"); if(File.Exists(Application.dataPath+ "/Resources/Data/PlayerInfoData.json")) { string jsonStr = File.ReadAllText(Application.dataPath + "/Resources/Data/PlayerInfoData.json"); Debug.Log(jsonStr); JsonData playerData = JsonMapper.ToObject(jsonStr); for (int i = 0; i < playerData.Count; i++) { Debug.Log(playerData[i]["ID"].ToString()); Debug.Log(playerData[i]["Name"].ToString()); Debug.Log(playerData[i]["Gold"].ToString()); } } else { Debug.Log("파일이 존재하지 않습니다."); } } // Update is called once per frame void Update () {
} }
|
'유니티(unity)' 카테고리의 다른 글
유니티(Unity) - 네트워크 동기화 종류 (0) | 2020.08.15 |
---|---|
유니티(unity) 애니메이션(animation) 움직이기 Animation Type(Humanoid)휴머노이드 (1) | 2017.12.13 |
유니티(unity) 간단한 text 글씨 띄우기 (0) | 2017.12.11 |
유니티(unity) 현재 클래스에 특정 다른 C#스크립트 클래스 가져오기 (0) | 2017.12.11 |
유니티(unity) 간단한 코루틴(Coroutine) 사용법 (0) | 2017.12.11 |