[Unity]26.Json을 이용한 저장과 불러오기 방법

안녕하세요 유랑입니다.



이번 시간에는 Json을 이용한 데이터 저장과 불러오기 방법에 대해서 알아보겠습니다.

유니티에서 제공해 주는 PlayerPrefs는 저장 데이터타입과 용량의 제한이 있기에

저장 가독성이 좋은 JSON을 사용해 보겠습니다.




1. JSON



JSON(JavaScript Object Natation)은 경량의 DATA 교환 형식입니다.

유니티엔진의 JsonUtility 클래스를 이용하면 오브젝트(클래스, 데이터)를 JSON 형식의 문자열로 변환하고

가져올 수 있는 기능을 가지고 있습니다.

웹서비스 연동 시 유용하다고 하네요.







1-1) 프로젝트 생성과 설정



프로젝트 이름과 생성 위치를 설정 후 프로젝트를 만들어 주세요.






Json을 사용하려면 dll 파일이 필요합니다.

밑에 보이는 사이트 아니면 파일을 다운받아주신 후 Plugins 파일에 넣어 주세요.

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

LitJson.dll






1-2) 아이템 리스트 작성



게임에는 아이템 혹은 캐릭터의 정보를 저장해 둘 필요학 있습니다.

밑에 보이는 스크립트는 Item 클래스틀 만들어 여러 개의 아이템을 저장하는 형식입니다.






아이템의 정보를 저장하고, 불러오기를 하기 위해서 버튼을 만들어 주세요.





Save는 아이템의 정보를 저장하고, Load는 아이템의 정보를 불러오겠습니다.





스크립트는 빈오브젝트를 만든 후 넣어 주세요.





버튼에 각각 스크립트를 가지고 있는 JsonMgr 오브젝트를 드래그 앤 드랍하여 기능을 추가해 주겠습니다.







게임을 실행 후 해당 버튼을 클릭하여 정보가 제대로 나오는지 확인해 주세요^^






1-3) Json 파일 생성 후 저장/불러오기



스크립트에 저장과 불러오는 기능을 추가해 주겠습니다.

파일 입출력에 필요한 System.IO를 추가해 준다음 다음 내용을 작성해 주세요.

ItemJson이라는 파일을 만들고 생성해 주겠습니다.

생성된 파일은 에셋 폴더 안에 생기게 됩니다.










에셋에 생성해도 게임을 생서하면 들어가지 못하겠죠?

Resources 폴더 안에 넣어 볼게요.





한글이라서 글자가 제대로 보이지 않지만, 기능 상에서는 문제가 없습니다.





불러오기도 마찬가지로 해당 위치에 있는 Json 파일을 가지고 와서 아이템 정보를 확인할 수 있어요.

저장된 경로가 다를 경우 오류가 날 수 있으니 이 점 유의해 주세요.





저장했던 방패, 활, 포션 등이 보이네요.

아이템 말고도 돈이나 캐릭터 정보도 이처럼 구성하시면 되겠습니다.






2. 마무리



이번 시간에는 Json을 이용하여 데이터 저장과 불러오는 방법에 대해서 배웠습니다.

다음 시간에는 Sync에 대해서 알아보겠습니다.

데이터 저장 방식은 호불호가 있기에 그 때 상황과 본인에게 맞는 방식을 쓰시면 되겠습니다.

오늘도 고생하셨습니다.

감사합니다.




수업자료: https://github.com/YouRang12/-Tistory-Unity---Basic


댓글

Designed by JB FACTORY