모듈:GameJSONParser/설명문서: 두 판 사이의 차이
잔글편집 요약 없음 |
(→테스트) |
||
6번째 줄: | 6번째 줄: | ||
== 테스트 == | == 테스트 == | ||
=== 1 === | |||
{{예시|<nowiki>{{#invoke:GameJSONParser|test}}</nowiki>|{{#invoke:GameJSONParser|test}}}} | {{예시|<nowiki>{{#invoke:GameJSONParser|test}}</nowiki>|{{#invoke:GameJSONParser|test}}}} | ||
* '''에러: 모듈:Jsonschema 268번째 줄에서 Lua 오류: attempt to call upvalue 'loadstring' (a nil value).''' | |||
*: [[모듈:Jsonschema]]의 2번, 268번 라인에서 발생하는 오류 | |||
*: 존재하지 않는 loadstring 함수 호출이 발생 원인 | |||
*: lua의 loadstring함수(5.2버전 미만에서는 load)는 js에서 eval과 같은 역할을 수행하는데 보안을 위해 미디어위키 모듈 스펙에서 삭제됨 [https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/ko#Removed_functions_and_packages] | |||
*: JSON스트링을 간단하게 lua 테이블로 가져오기 위해 즉시 실행하는것으로 확인되는데 mw.text.JSONDecode를 사용해 적절하게 교체 필요 | |||
== 도보시오 == | == 도보시오 == |
2023년 7월 27일 (목) 11:37 판
이 모듈은 현재 공사 중입니다!
2024년 11월 25일 06시 32분 27초까지 완성되기로 한 모듈입니다.
"모듈:GameJSONParser/설명문서" 개발에 대한 문의 사항은 이곳에서 받고 있습니다.
"모듈:GameJSONParser/설명문서" 개발에 대한 문의 사항은 이곳에서 받고 있습니다.
리버티게임:게임 메타데이터/스키마.json를 기반으로 game.json을 검증하여 적절한 분류나 틀을 삽입하기 위한 모듈입니다.
이 문서를 만든 사용자도 json 스키마에 대한 지식이 없어 연구하는 단계에 있기에 테스트를 위해 마음대로 수정하셔도 무방합니다.
테스트
1
code_blocks 코드
{{#invoke:GameJSONParser|test}}
code
description 결과
스크립트 오류: 함수 "test"가 존재하지 않습니다.
- 에러: 모듈:Jsonschema 268번째 줄에서 Lua 오류: attempt to call upvalue 'loadstring' (a nil value).
- 모듈:Jsonschema의 2번, 268번 라인에서 발생하는 오류
- 존재하지 않는 loadstring 함수 호출이 발생 원인
- lua의 loadstring함수(5.2버전 미만에서는 load)는 js에서 eval과 같은 역할을 수행하는데 보안을 위해 미디어위키 모듈 스펙에서 삭제됨 [1]
- JSON스트링을 간단하게 lua 테이블로 가져오기 위해 즉시 실행하는것으로 확인되는데 mw.text.JSONDecode를 사용해 적절하게 교체 필요
도보시오
- 모듈:GameJSONParser/scheme.json : 검증 후 삽입할 틀과 분류를 모아놓은 곳
- 모듈:Jsonschema : 스키마 파서
- 리버티게임:게임 메타데이터/스키마.json : 메타데이터 스키마
- https://json-schema.org/ : JSON 스키마 공식 홈페이지