게임 정보 읽기 질문

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

  • 뒤끝 SDK 버전 : 5.8.0
  • 프로젝트명 : 주기율전쟁
  • 스테이터스 코드 : 없음
  • 에러 코드 : 없음
  • 에러 메시지 : KeyNotFoundException: The given key was not present in the dictionary.
    계속하는데 실패해서 질문합니다 초보에요
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using BackEnd;
using LitJson;
public class Reading : MonoBehaviour
{
    //public Hpinstee hpin;
    public string date;
    string[] select = { "Hp" };
    static int hp;
    public int hp2;
    Dictionary<string, int> infor = new System.Collections.Generic.Dictionary<string, int>
    {
        
        { "HP", hp }

    };

    public void Start()
    {
        date = Backend.UserInDate;
        var bro = Backend.GameData.GetMyData("test", date, select);
        JsonData jsonData = bro.GetReturnValuetoJSON();
        hp = int.Parse(jsonData["Hp"]["N"].ToString());
        hp2 = hp;
    }

뭐가 틀린지 모르겠어요 hp가 잘 나오는지 확인하고 싶을뿐이에요 도와주세요

안녕하세요 개발자님,
해당 에러는 json 파싱 과정에서 해당하는 키값을 찾지 못해 발생하는 에러입니다.

    public void Start()
    {
        date = Backend.UserInDate;
        var bro = Backend.GameData.GetMyData("test", date, select);
        JsonData jsonData = bro.GetReturnValuetoJSON();
        hp = int.Parse(jsonData["row"]["Hp"]["N"].ToString());
        hp2 = hp;
    }

혹은

    public void Start()
    {
        date = Backend.UserInDate;
        var bro = Backend.GameData.GetMyData("test", date, select);
        JsonData jsonData = bro.GetFlattenJSON();
        hp = int.Parse(jsonData["row"]["Hp"].ToString());
        hp2 = hp;
    }

위 예시 코드를 확인하여 이용해 주시면 감사하겠습니다.

정말 죄송하지만 시도해도 안되네요. 콘솔에도 제데로 Hp라고 떠있어요
근데 할려면 계속 오류가나네요

GetMyData 에서는 자신의 InDate가 아닌 데이터 InDate를 사용합니다.
참고하여 로직을 수정하시거나
아래와 같이 new Where()을 사용해서 전체 데이터를 조회해 이용하는 방법을 확인해 주세요.

    public void Start()
    {
        var bro = Backend.GameData.GetMyData("test", new Where());
        JsonData jsonData = bro.GetFlattenJSON();
        hp = int.Parse(jsonData["rows"][0]["Hp"].ToString());
        hp2 = hp;
    }