모듈:GameJSONParser/설명문서: 두 판 사이의 차이

리버티게임, 모두가 만들어가는 자유로운 게임
(추천평카드 링크 추가)
 
(사용자 2명의 중간 판 14개는 보이지 않습니다)
1번째 줄: 1번째 줄:
{{공사중|기획=1}}
{{틀:틀 설명 연결하기|모듈:GameJSONParser}}
{{틀:틀 설명 연결하기|모듈:GameJSONParser}}
[[리버티게임:게임 메타데이터/스키마.json]]를 기반으로 game.json을 검증하여 적절한 분류나 틀을 삽입하기 위한 모듈입니다.


이 문서를 만든 사용자도 json 스키마에 대한 지식이 없어 연구하는 단계에 있기에 테스트를 위해 마음대로 수정하셔도 무방합니다.
== getGameInfo==
{{본문|틀:게임 정보}}


== 테스트 ==
== getGamecard ==
=== 1: JSON 스키마 정상작동여부 ===
{{본문|:게임카드}}
{{예시|<nowiki>{{#invoke:GameJSONParser|testParser}}</nowiki>|{{#invoke:GameJSONParser|testParser}}}}
* '''에러: 모듈: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를 사용해 적절하게 교체 필요


=== 2: 문서형식이 JSON으로 된 모듈:GameJSONParser/scheme.json을 즉시 사용 할 수 있는지에 대한 여부 ===  
== getFeaturedCard==
{{예시|<nowiki>{{#invoke:GameJSONParser|testImportJson}}</nowiki>|'''package.lua 80번째 줄에서 Lua 오류: module '모듈:GameJSONParser/scheme.json' not found.'''}}
{{본문|:추천평카드}}
: json문서가 존재함에도 불구하고 아예 모듈파일을 찾을 수 없다는 메세지 출력됨, 문서형식이 module이 아닌 모든 네임스페이스는 require로 불러 올 수 없음을 추측 할 수 있음.


== 도보시오 ==
== 도보시오 ==
* [[모듈:GameJSONParser/scheme.json]] : 검증 후 삽입할 틀과 분류를 모아놓은 곳
* [[모듈:Jsonschema]] : 스키마 파서
* [[리버티게임:게임 메타데이터/스키마.json]] : 메타데이터 스키마
* [[리버티게임:게임 메타데이터/스키마.json]] : 메타데이터 스키마
* [https://json-schema.org/ https://json-schema.org/] : JSON 스키마 공식 홈페이지
* [[모듈:GameJSONParser/연구소]]

2023년 9월 14일 (목) 00:47 기준 최신판

getGameInfo[원본 편집]

이 부분의 본문은 틀:게임 정보입니다.

getGamecard[원본 편집]

이 부분의 본문은 틀:게임카드입니다.

getFeaturedCard[원본 편집]

이 부분의 본문은 틀:추천평카드입니다.

도보시오[원본 편집]