달력

62024  이전 다음

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30

'제이슨'에 해당되는 글 1건

  1. 2017.12.28 유니티(unity) 에서 간단한 Json(제이슨) 사용법 1

유니티(unity) 에서 간단한 Json(제이슨) 사용법


먼저 아래 주소를 통해 파일을 다운로드 합니다.

https://sourceforge.net/projects/json-lib/


아님 아래 파일 다운 받으세요~!

LitJson.dll


다운 받은 폴더 -> 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 () {

}

}

 


Posted by JakeGD
|