리버티게임:JSON: 두 판 사이의 차이

리버티게임, 모두가 만들어가는 자유로운 게임
잔글 (리버티게임의 JSON 적용 사례 소개)
잔글 (→‎구조)
9번째 줄: 9번째 줄:


== 구조 ==
== 구조 ==
JSON은 크게 순서대로 데이터를 저장하는 배열과 이름으로 데이터를 저장하는 객체로 구성되어 있습니다.
 
JSON은 크게 순서대로 데이터를 저장하는 배열과 이름으로 데이터를 저장하는 객체로 구성되어 있습니다. 그리고 JSON 파일(문서)는 하나의 큰 객체 안에 배열과 다른 객체들을 담습니다.


=== 배열 ===
=== 배열 ===

2024년 6월 10일 (월) 18:57 판

Wikipedia W - SuperTinyIcons.svg
그들만의 위키백과 버전 문서입니다.
JSON
나무위키아이콘.png
그들이 가꾸어 나가는 나무위키 버전 문서입니다.
JSON

JSON은 데이터를 저장하는 규격 중 하나로, 기계가 쉽게 읽을 수 있어 다양하게 활용할 수 있습니다. 스크립트, 봇, 모듈이 활용하거나 복잡한 구조의 데이터일 경우에는 JSON 사용이 권장되며, 위키텍스트에서도 쉽게 활용할 수 있습니다.

리버티게임에서는 게임 목록에 자신의 게임을 나타내기 위해 게임에 관한 정보를 담는 메타데이터(game.json)를 만들거나 각종 틀/소도구가 필요로 하는 정보를 저장할 목적으로 JSON을 활용합니다.

구조

JSON은 크게 순서대로 데이터를 저장하는 배열과 이름으로 데이터를 저장하는 객체로 구성되어 있습니다. 그리고 JSON 파일(문서)는 하나의 큰 객체 안에 배열과 다른 객체들을 담습니다.

배열

배열은 이렇게 생겼습니다. [로 시작해 ,로 각 항목을 구분하고 ]로 닫습니다.

["산토끼", "보카통", 2018, "너"]

배열은 주로 순서가 있는 데이터의 목록이나, 이름을 쓸 필요가 없는 무작위의 여러 데이터의 목록을 저장하는 데 사용됩니다.

객체

객체는 이렇게 생겼습니다. {로 시작해 : 앞에 항목의 이름인 키를 문자열 형식으로 쓰고 뒤에 값을 씁니다. ,로 각 항목을 구분하고 }로 닫습니다.

{
    "이름": "너",
    "HP": 100,
    "레벨": 10,
    "경험치": 100,
    "아이템": null,
    "버전": 1.1,
    "차단": false
}

객체는 주로 키와 대응되는 값을 저장하는 데 쓰입니다. 키에는 문자열만 쓰일 수 있으며, 중복될 수 없습니다.

JSON에서 쓰일 수 있는 데이터는 숫자, 문자열, 부울, null, 객체, 배열이 있습니다.

숫자
정수, 소수, 지수 표기법이 사용될 수 있습니다.
여기서 지수 표기법이란, 큰 수나 매우 작은 소수를 소수와 거기에 곱해지는 10의 지수로 입력하는 것입니다. e 문자 앞에 입력한 소수에 e 문자 뒤에 입력한 정수만큼 10을 제곱한 수를 곱한 값과 같습니다. 예를 들어, 3.14e-9로 입력한 수는 의 값과 같습니다.
부울
참거짓을 나타낼 때 쓰이며, true, false가 있습니다.
문자열
앞뒤에 "로 둘러싸여 있으며, 다음 표에 따라 문자열이 치환됩니다.
입력 출력
\\ \
\" "
\b (백스페이스 문자)
\f (폼 피드 문자)
\n (줄바꿈 문자)
\r (캐리지 리턴 문자)
\t (탭 문자)
\/ /
\uXXXX (유니코드 U+XXXX 문자)
문자열에 줄바꿈을 추가하고 싶다면 \n을 사용해야 합니다. 직접 줄바꿈을 하면 오류가 발생합니다. 문자열 내부에 "를 쓰고 싶다면 앞에 \를 붙여 \"로 쓰고, \를 쓰고 싶다면 \\로 써야 한다는 점 꼭 명심해주세요!
null
비어있는 값을 명시적으로 나타낼 때 쓰입니다. 루아나 이를 기반으로 한 틀과 같은 일부 시스템에서는 정의되지 않은 값인지 명시적인 null 값인지 구별할 수 없으므로 주의하세요.
객체
배열
객체나 배열 안에 다시 객체나 배열을 넣을 수 있습니다.
{
    "반달러": ["산토끼", "보카통", 2018, "너"]
}

도구

리버티게임에서는 JSON을 더 잘 다룰 수 있게 도와주는 도구를 제공하고 있습니다. 모듈:JSON을 참고해 주세요.

JSON 데이터를 읽을 때에는 틀:JSON을 사용할 수 있습니다.

도보시오