우편관련 코드 질문드립니다.

"지난 주 랭킹 보상"을 제공하기 위해서 콘솔에서 랭킹보상을 추가 하였습니다.
우편이 있는 경우 순위권 안에 들었기 때문에 우편에서 제공되는 itemCount에 따라서 아이템을 지급하고,
우편이 없는 경우 순위권 밖이어서 기본 데이터를 제공하는 로직을 구성하였습니다.

관리자우편으로 보상을 제공하여 테스트한 결과 우편이 존재하고 보상을 아직 받지 않은경우에는 정상적으로 수령합니다.
그런데, 우편이 없는 경우
postIndate = bro.GetReturnValuetoJSON()[“fromAdmin”][0][“inDate”][“S”].ToString();
라인에서 오류가 발생합니다.

코드를 아래와 같이 작성하면 if (bro.Rows().Count > 0) 라인에서 오류가 발생합니다.

    var bro = Backend.Social.Post.GetPostListV2(1);
    if (bro.IsSuccess())
    {
        //우편이 존재할 경우
        if (bro.Rows().Count > 0)
        {
            postIndate = bro.GetReturnValuetoJSON()["fromAdmin"][0]["inDate"]["S"].ToString();
            Debug.Log(postIndate);
            var BRO = Backend.Social.Post.ReceiveAdminPostItemV2(postIndate);

            if (BRO.IsSuccess())
            {
                Debug.Log("우편있음, 100위 안에 들었음");
                var getMoney = BRO.GetReturnValuetoJSON()["itemCount"]["N"].ToString();
                return Int32.Parse(getMoney);
            }
            else
            {
                return 0;
            }
        }
        else
        {
            return 0;
        }

    }
    else
    {
        Debug.Log("우편 연결실패");
        return 0;
    }

어떻게 수정해야 할까요…

  • 뒤끝 SDK 버전 :
  • 프로젝트명 :
  • 스테이터스 코드 :
  • 에러 코드 :
  • 에러 메시지 :

안녕하세요 개발자님,

GetPostList()는 rows 컬럼이 존재하지 않고, fromAdmin과 fromUser 컬럼이 대신 존재합니다(rows 컬럼이 있을 경우에만 Rows() 함수를 사용할 수 있습니다.)
해당 갯수를 얻고자 할 때에는 다음과 같이 코드를 작성하세요

// 관리자 우편이 존재할 경우
if(bro.FlattenToJson()["fromAdmin"].Count > 0)
{
}
// 유저 우편이 존재할 경우
if(bro.FlattenToJson()["fromUser"].Count > 0)
{
}

랭킹 보상으로 얻은 우편의 데이터 타입은 [“N”] 이 존재하지 않고 [“S”] 만 있습니다.
만약 랭킹 보상과 일반 관리자 우편 2개를 모두 사용할 경우에는 해당 데이터 타입 컬럼이 문제가 될 수 있으므로 Flatten을 이용해 데이터타입 컬럼을 제거하고 사용하는 것을 추천드립니다.

감사합니다.