게임 프로그래밍
[Unity] Json사용하기 본문
json파일이란?
JSON (JavaScript Object Notation)
- JavaScript Object Notation라는 의미의 축약어로 데이터를 저장하거나 전송할 때 많이 사용되는 경량의 DATA 교환 형식
- Javascript에서 객체를 만들 때 사용하는 표현식을 의미한다.
- JSON 표현식은 사람과 기계 모두 이해하기 쉬우며 용량이 작아서, 최근에는 JSON이 XML을 대체해서 데이터 전송 등에 많이 사용한다.
- JSON은 데이터 포맷일 뿐이며 어떠한 통신 방법도, 프로그래밍 문법도 아닌 단순히 데이터를 표시하는 표현 방법일 뿐이다.
JSON 특징
- 서버와 클라이언트 간의 교류에서 일반적으로 많이 사용된다.
- 자바스크립트 객체 표기법과 아주 유사하다.
- 자바스크립트를 이용하여 JSON 형식의 문서를 쉽게 자바스크립트 객체로 변환할 수 있는 이점이 있다.
- JSON 문서 형식은 자바스크립트 객체의 형식을 기반으로 만들어졌다.
- 자바스크립트의 문법과 굉장히 유사하지만 텍스트 형식일 뿐이다.
- 다른 프로그래밍 언어를 이용해서도 쉽게 만들 수 있다.
- 특정 언어에 종속되지 않으며, 대부분의 프로그래밍 언어에서 JSON 포맷의 데이터를 핸들링 할 수 있는 라이브러리를 제공한다.
데이터를 주고받는 형식으로써 옛날부터 유니티에서도 지원하게 되어 많이 쓰고 있습니다.
xml과 비교한다면, 좀 더 간단한 형식으로({}를 이용)데이터를 저장하기 때문에 좀 더 가볍습니다. 다만 그만큼 데이터 오염에 더 취약할수 있습니다. json같은 경우에는 파일에서 데이터가 잘못됐는지 알수 없기 때문에 조심해서 써야합니다.
그렇다면 유니티에서는 어떻게 쓸까요?
유니티에서는 기본적으로 JsonUtility라는 기능일 제공합니다. json포맷을 파싱하기 위한 기본적인 기능을 제공하고 있습니다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
[System.Serializable]
class JsonTest
{
int value;
public void SaveJson(JsonTest data)
{
string temp = JsonUtility.ToJson(data);
}
public void LoadJson(string data)
{
JsonTest temp = JsonUtility.FromJson<JsonTest>(data);
}
}
|
cs |
ToJson과 FromJson을 이용하여 간단하게 파싱이 가능합니다.
'프로그래밍 > 유니티' 카테고리의 다른 글
[Unity] IDragHandler (0) | 2020.03.10 |
---|---|
[Unity] 애니메이터 오버라이드 컨트롤러(animator override controller) (0) | 2020.03.09 |
[Unity] 슬로우모션 (0) | 2020.03.04 |
[Unity] AddForce 궤도 구하기 (0) | 2020.03.03 |
[Unity] object에 동일한 Component 여러개 있을때 GetComponent (0) | 2020.01.28 |
Comments