고객님의 문의에 답변하는 직원은 고객 여러분의 가족 중 한 사람일 수 있습니다.
고객의 언어폭력(비하, 조롱, 욕설, 협박, 성희롱 등)으로부터 직원을 보호하기 위해
관련 법에 따라 수사기관에 필요한 조치를 요구할 수 있으며, 형법에 의해 처벌 대상이 될 수 있습니다.
커뮤니티 이용 정책에 위배되는 게시물을 작성할 경우, 별도 안내 없이 게시물 삭제 또는 커뮤니티 이용이 제한될 수 있습니다.
문의 응대 : 평일 오전 10시 ~ 오후 6시
문의를 남기실 경우 다음 항목을 작성해 주세요.
정보가 부족하거나 응대시간 외 문의하는 경우 확인 및 답변이 지연될 수 있습니다.
- 뒤끝 SDK 버전 : 5.11.9
- 프로젝트명 : Castle-Hero
- 스테이터스 코드 :
- 에러 코드 :
- 에러 메시지 : InvalidOperationExeption, The JsonData instance has to be initialized first
안녕하세요, 뒤끝 펑션을 사용해 커스텀 기능을 구현하는 중 문제가 생겨 문의 드립니다.
신규 가입 시 차트를 불러와 계정의 기본 정보, 재화 등을 DB에 삽입하는 기능이며,
데이터에는 인벤토리, 보유 캐릭터 등이 포함될 수 있어 리스트도 포함되어있습니다.
debugConfig.json 파일을 통한 디버깅 진행 시 문제가 없어 펑션 배포를 진행했고,
이후 펑션 배포 후 테스트에서는 JsonData에서 InvalidOperationExeption 예외가 발생했습니다.
litjson의 깃허브 저장소에서 코드를 확인해봤을 때 jsonData를 인덱서로 접근 시
컬렉션을 보장해주는 메소드에서 발생한 예외였습니다.
이 후 혹시 몰라 유니티 클라이언트에 동일하게 코드를 작성 및 실행 했을 때,
디버깅 진행 시와 동일하게 문제 없이 동작했습니다.
배포된 펑션에서 Backend.GameData.Insert를 호출할 때 리스트 데이터를
제대로 처리하지 못하는 것 같습니다. 이 부분에 대해서 확인 부탁 드립니다.
///////////////////////////////////////////////////////////////////////////////////
펑션 코드 (키값, 클래스 명 등은 실제와 다름)
// 기본 데이터 차트 로딩
var defaultData = Backend.Chart.GetChartContents(DefaultChartId).FlattenRows()[0];
// 파라미터 세팅
var param = new Param();
param.Add(“gold”, 0)
param.Add(“units”, new List {
new Unit{ id = int.Parse(defaultData[“DefaultUnit”]) }
});
param.Add(“inventory”, new List());
// 데이터 삽입
var result = Backend.GameData.Insert(“tableName”, param);
// 삽입 결과 반환
return Backend.JsonToStream(result.GetReturnValueToJson());
///////////////////////////////////////////////////////////////////////////////////
에러가 발생한 Litjson 라이브러리의 JsonData 클래스 코드
private ICollection EnsureCollection ()
{
if (type == JsonType.Array)
return (ICollection) inst_array;
if (type == JsonType.Object)
return (ICollection) inst_object;
throw new InvalidOperationException (
"The JsonData instance has to be initialized first");
}