BackendReturnObject형식을 Dictionary로 형변환2

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

Dictionary<int, int> items_num = new Dictionary<int, int>();
param.Add(“itemList”, items_num);
BRO = Backend.GameData.Insert(“character”, param);
이렇게 서버에 딕셔너리를 넣은다음에

"itemList"열만 서버로부터 받아와서 BackendReturnObject를 Dictionary로 바꾸고 싶은데요
어제 BackendReturnObject형식을 Dictionary로 형변환 - Hassan님의 글 #2 여기서 가리켜주신데로

public Dictionary<int, int> items_num = new Dictionary<int, int>();
var bro = Backend.GameData.GetMyData(“character”, new Where(), SlotCnt); // SlotCnt는 불러올 열갯수

if (bro.Rows().Count > 0)
{
var rows = BackendReturnObject.Flatten(bro.Rows());

   foreach (var row in rows)
   {
           foreach (var li in row["itemList"].Keys)
           {
                items_num.Add(int.Parse(li.Tostring()), int.Parse(row["itemList"][li].ToString()));
           }
    }

}
이렇게 하니까 row[“itemList”] 여기에 빨간줄 뜨면서 []을 사용하는 인덱싱을 'object 형식의 식에 적용할 수 없습니다. 이렇게 뜨네요.

어떻게 해야할까요?

안녕하세요 개발자님.

먼저 제공한 코드에 잘못된 부분이 있던 점 죄송합니다.

 foreach (var row in rows)

해당 부분에서 외부 라이브러리에서 발생한 JsonData로 row를 생성하기 위해서는 var 이 아닌 JsonData로 명확하게 표현을 해야합니다.

 foreach (JsonData row in rows)

아래는 전체 코드 입니다.(변경점 <-로 표시)

public Dictionary<int, int> items_num = new Dictionary<int, int>();
var bro = Backend.GameData.GetMyData(“character”, new Where(), SlotCnt); // SlotCnt는 불러올 열갯수

if (bro.Rows().Count > 0)
{
var rows = BackendReturnObject.Flatten(bro.Rows());

   foreach (JsonData row in rows) // <- 수정된 부분 var -> LitJson.JsonData
   {
           foreach (var li in row["itemList"].Keys)
           {
                items_num.Add(int.Parse(li.Tostring()), int.Parse(row["itemList"][li].ToString()));
           }
    }
}