오늘은 동아리 때문에 유니티랑 c#을 공부해야 하는 것 때문에 잠시 c언어를 접어두고 잡다한 기능 구현들을
유튜브 영상으로 보고있었는데 오랜만에 유니티를 하니까 너무 재밌는 것 같다.
그래서 오늘의 본론으로 가서 오늘은 Json이 무엇이고 어떤식으로 사용하는 지에 대해 알아보았다.
일단
제이슨은 우리가 저장을 할 때나 통신을 할 때 기타 등등에서 사용이 된다.
그럼 제이슨을 어떻게 사용할 수 있을까?
제이슨을 만들고 개봉하는 형식은 이것과 비교 할 수 있다.
건담을 보내야 한다 -> 내용물을 분해 -> 조립설명서 -> 택배 상자에 담아서 -> 택배를 보냄
-> 받은 사람이 열면 내용물 + 조립설명서를 받아서 -> 건담을 만든다.
이것과 거의 동일하다.
코드로 바꿔보면
클래스(코드)를 통신하기 위해 -> Json(택배)
제이슨(택배)를 받으면 -> 조립도를 보고 조립을 해서 -> 클래스(코드)를 만드는 것이다.
이것만 보고는 잘 모르겠지만 해보면 알게될 것이다.
일단 제이슨을 코드로 어떻게 변환하는지 물어볼 수 있는데
이것은 유니티에서 기본적으로 지원을 해주고 있다.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UIElements;
// 1. 데이터(코드 = 클래스)를 만들어야함. => 저장할 데이터 생성
// 2. 그 데이터를 Json으로 변환.(택배상자로 포장)
//==================================================
// 3. Json(택배)를 다시 원래의 코드로 바꾸는 방법
// 제이슨(택배) -> 조립도 -> 클래스(코드)
class Data
{
public string nickname;
public int level;
public int coin;
public bool skill1;
// 기타 등등...
}
public class Test : MonoBehaviour
{
Data player = new Data() { nickname = "200원", level = 200, coin = 200, skill1 = false };
//이렇게 넣을 수 있음
//아니면 바로 클래스에서 선언하기
// Start is called before the first frame update
void Start()
{
//player.nickname = "200원";
//이런 식으로 데이터에 값을 넣거나
//위 처럼 넣을 수 있음
string JsonData = JsonUtility.ToJson(player);
//이러면 Json으로 변환이 된 것임
//Json은 string형이다.
//print(JsonData);
Data player2 =JsonUtility.FromJson<Data>(JsonData);
print(player2.nickname);
print(player2.level);
print(player2.coin);
print(player2.skill1);
}
// Update is called once per frame
void Update()
{
}
}
일단 주석으로 표시는 해놓았는데 일단 오늘코딩님의 글을 보는 것이 좋을 것이다.
[유니티] 초보자를 위한 제이슨을 사용하는 방법
해당 글은 Json을 처음 사용해보는 초보자를 위한 글임을 밝힙니다. 해당 본문의 내용은 아래의 유튜브로도 볼 수 있습니다. 유니티에서 Json을 사용할 때 어렵게 생각하는 사람들이 많다. 아무래
coding-of-today.tistory.com
이렇게 오늘은 Json의 기초에 대해 공부해보았다.
다음에는 Json으로 저장해보는 것을 만들어보려고 한다.