모듈:JSON/설명문서

리버티게임, 모두가 만들어가는 자유로운 게임
< 모듈:JSON
백괴게임>Gustmd7410님의 2018년 6월 28일 (목) 23:39 판 (→‎JSON 코드)

이 문서는 모듈:JSON에 대한 설명문서입니다.

JSON 데이터를 읽어들여 값을 반환하거나, 데이터를 수정합니다.

사용법

변수

객체를 사용한다면 속성명을 그대로 입력하시면 됩니다.

배열의 경우 Lua를 사용하므로 순서는 1부터 시작한다는 것을 유의해 주세요.

이 모듈은 null을 처리할 수 없으며 없는 값으로 간주됩니다. 따라서 null을 사용하는 데이터에는 이 모듈을 사용하실 수 없습니다.

JSON 코드

JSON 코드는 다음과 같은 다양한 상황에서 입력이 가능합니다. 아래와 같은 내용을 두번째 변수(JSON 코드)에 입력해 주세요.

  • JSON 코드 직접 입력
JSON 코드가 반환되는 이 모듈도 사용하실 수 있습니다.
  • JSON 문서 불러오기
JSON 문서를 불러와서 입력하시려면 다음과 같이 틀의 형태로 입력해 주세요.
{{사용자:홍길동/데이터.json}}
{{:한게임/DB}}
  • 빈 JSON 코드
비어있는 JSON 코드를 사용하시려면 {}[]만 입력해 주세요.

새로 만들기

{{#switch:}}문법과 비슷하게 JSON 데이터를 새로 만들 수 있습니다.

{{#invoke:JSON|new|(값)|(변수)=(값a)|...}}

변수를 지정하지 않은 경우 변수는 틀과 같이 순서로 지정이 되며, 배열을 만들고자 할 경우 변수 없이 값만 입력하시면 됩니다.

이 기능은 앞서 말했다시피 #switch 문법과 유사하기 때문에 호환이 될 수 있습니다. 앞부분의 {{#switch:{{{1}}}부분을 한번 {{풀기:#invoke:JSON|new로 변경해 보세요. switch가 JSON으로 마법같이 변신할겁니다. 이 기능과 함께 switch에서 JSON으로 갈아타세요!

변수값 얻기

JSON 데이터에 있는 변수의 값을 얻으려면 다음과 같이 입력합니다:

{{#invoke:JSON|get|(JSON 코드)|(변수)|(기본값)}}

위와 같이 입력하시면 해당 변수의 값만 그대로 나오며, 값이 없는 경우 기본값이 나옵니다.

예를 들어, var 변수의 값을 얻는다면 이렇게 입력하세요:

{{#invoke:JSON|get|(JSON 코드)|var}}

{{JSON}}을 이용하면 더 간단히 입력하실 수 있습니다. 자세한 내용은 해당 문서를 확인해 주세요.

변수값 변경

JSON 데이터에 있는 변수의 값을 변경하려면 다음과 같이 입력합니다:

{{#invoke:JSON|set|(JSON 코드)|(변수)|(값)}}

위와 같이 입력하시면 해당 변수의 값이 변경된 JSON 코드가 반환됩니다.

예를 들어, var 변수의 값을 {{#rand:0|9}}로 변경할 경우 이렇게 입력하세요:

{{#invoke:JSON|set|(JSON 코드)|var|{{#rand:0|9}}}}
  • 변수 추가
JSON 데이터에 있는 변수를 추가하려면 변수값을 변경할 때와 같이 입력하시면 됩니다.
  • 변수 제거
JSON 데이터에 있는 변수를 제거하려면 다음과 같이 변수값을 변경할 때의 값을 비워두시면 됩니다.
{{#invoke:JSON|set|(JSON 코드)|(변수)|}}
위와 같이 입력하시면 입력한 JSON 코드에서 해당 변수가 제거된 값이 나옵니다.
예를 들어, var 변수를 제거하려면 이렇게 입력하세요:
{{#invoke:JSON|set|(JSON 코드)|var|}}

작업 조합

만약 여러 작업을 동시에 하고 싶다면 두번째 변수에 이 틀을 다시 넣을 수 있습니다. 이런식으로 말이지요:

{{#invoke:JSON|get|
{{#invoke:JSON|set|
{{#invoke:JSON|set|
{{#invoke:JSON|set|
{"var":false}
|var}}
|var1|{{#rand:0|9}}}}
|var2|
{{#invoke:JSON|set|[]|1|ㅁㄴㅇㄹ}}
}}
|var{{#rand:1|2}}}}

도보시오