딕셔너리 <int, class> 리턴값?

에러가 발생한 경우 아래 정보를 모두 제공해주시면 보다 정확한 답변이 가능합니다!

  • SDK 버전 :
  • 에러 코드 :
  • 스테이터스 코드 :
  • 에러메시지 :

WeaponItemList 라는 칸에 이런식으로 저장이 되어있습니다
요거는 딕셔너리 <int, class> 로 되어있습니다
{
“ID:109”: {
“ID”: 109,
“Count”: 0,
“isEquip”: false,
“isOpen”: false,
“GradeLevel”: 0
},
“ID:108”: {
“ID”: 108,
“Count”: 0,
“isEquip”: false,
“isOpen”: false,
“GradeLevel”: 0
},
}

받아온 정보를 게임에 올려야하는데
다른건 딕셔너리가 아닌 단일방식이라 data[“rows”][“Gold”][0].ToString()
이런식으로 쉽게 가져왔는데 딕셔너리는 어떻게 가져와야할까요??
리턴값을 못찾아서 질문 올립니다 ㅠ 잦은 질문 죄송하면서두 감사드립니더 ㅠㅠ

안녕하세요 개발자님

정확한 데이터 구조와 리턴값이 어떤 형태인지몰라 답변을 드리기 조금 어려운 것 같습니다.

다만 data[“rows”][0][“딕셔너리이름”].ToString() 을 통해 딕셔너리가 어떤 형태로 리턴되는지 확인하신 후

data[“rows”][0][“딕셔너리이름”][0][“ID”] 이런 형태로 불러오시면 될 것 같습니다.

Debug.Log(rows[0][“WeaponItemList”].ToString());
Debug.Log(rows[0][“WeaponItemList”][0][“ID:1”].ToString());

이렇게 찍어보면
유니티 콘솔에서는 JsonData object 라고 떠서 어떤 형태로 리턴되는지 확인이 힘듭니다 ㅠ

그러면 중단점을 찍어서 에디터에서 메모리를 확인해보시면 어떠실까요??

그리고 딕셔너리또한 모든 데이터에 데이터 타입 “S”, “N” 등이 존재합니다.

data[“rows”][0][“딕셔너리이름”][0][“ID”][“S”].ToString() 이런식으로 읽어보시면 어떠실까요?

이 개발자 문서에 예시 2번을 참고하시면 손쉽게 파싱하실 수 있을 것 같습니다.
아마 딕셔너리 타입은 아래와 유사한 형태로 저장이 되어있을 것 입니다.

"lunch":{
                "M":{
                    "how much":{
                        "N":"1"
                    },
                    "when":{
                        "S":"the day before yesterday"
                    },
                    "what":{
                        "S":"drink coffee"
                    }
                }
            },

해결되었습니다~! 항상 감사합니다

좋아요 1