내 앱에서 사용자가 만들 수있는 수준을로드하려고하는데 잘못된 입력이있는 파일을 가져올 때 충돌로부터 앱을 보호하고 싶습니다. 어떻게해야합니까?
이것은 내 현재 코드입니다.
Json json = new Json();
json.setIgnoreUnknownFields(true);
JsonWorldValueCache jsonWrldCache = json.fromJson(JsonWorldValueCache.class, jsonWorld);
두 가지 측면에서 문제에 접근 할 수 있습니다.
먼저 Json#fromJson()
@Elliott가 제안한대로 try-catch 문으로 호출을 둘러 쌀 수 있습니다 . 예외가 발생하면 플레이어에게 자신이 만든 레벨에 문제가 있음을 정중하게 알리고 다시로드 할 것인지 (아마도 수정 한 후) 다시로드 할 것인지 물어보십시오.
둘째, 사용자에게 수준 편집기를 제공하여 JSON 파일을 직접 수정할 필요가 없습니다. 이것이 실패의 가능성을 제거하지는 않지만 (사용자는 일을 깨는 데 꽤 능숙합니다), 에디터가 레벨 파일에서 적절한 구조와 값이 준수되도록 보장 할 수 있기 때문에 대부분의 문제를 제거합니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다