테이블 정보 int 값 불러오기

문의 응대 : 평일 오전 10시 ~ 오후 6시
문의를 남기실 경우 다음 항목을 작성해 주세요.
정보가 부족하거나 응대시간 외 문의하는 경우 확인 및 답변이 지연될 수 있습니다.

  • 뒤끝 SDK 버전 : 5.7.0
  • 프로젝트명 : Loheldi Project
  • 스테이터스 코드 :
  • 에러 코드 :
  • 에러 메시지 : KeyNotFoundException: The given key was not present in the dictionary.

안녕하세요 레벨 값을 불러오고 싶은데 쉽지 않은 상황입니다. int 값을 불러오면 될 듯해서 참고 문서도 찾아보았지만 쉽게 해결되지 않아서 도움 청합니다.

코드 첨부합니다.
void Start()
{
level = 1;
Maxexp = 100;
exp = 0;

    var bro = Backend.GameData.GetMyData("USER_GAME_DATA", new Where());
    JsonData rows = bro.GetReturnValuetoJSON()["rows"];
    for (int i = 0; i < bro.Rows().Count; ++i)
    {
        var inDate = bro.Rows()[i]["inDate"]["S"].ToString();

       **var level2 = int.Parse(rows[i]["level"]["S"].ToString());**

        Debug.Log(inDate);
        Debug.Log(level2);
    }
    if (bro.IsSuccess())
    {
        print("레벨 정보 있음");
        
    }
    else
    {
        if (bro.GetReturnValuetoJSON()["rows"].Count <= 0)
        {
            level = 1;
            Maxexp = 100;
            exp = 0;
        }
        
    }

별표로 표시해둔 변수 level2가 문제 부분입니다. 위에 indate는 잘 뜨는 것을 확인했지만 레벨은 되지 않네요… 참고로 indate와 같은 구문으로 적용해도 오류가 납니다.

안녕하세요 개발자님.

숫자형 데이터의 경우, 데이터타입이 "N"으로 표시됩니다.
따라서 만약 레벨을 int나 float등의 숫자형태로 삽입하였다면 다음과 같이 데이터에 접근해야합니다.

var level2 = int.Parse(rows[i][“level”][“N”].ToString());

해당 데이터타입 처리가 힘드실 경우 bro.GetFlattenJSON 혹은 bro.FlattenRows를 통해 데이터타입이 제거된 JSON을 얻을 수 있으니 참고해주시면 감사하겠습니다.

var rows = bro.GetFlattenJSON();
var level2 = int.Parse(rows[i][“level”].ToString());

좋아요 1