서버에서 json 불러오기 문의

안녕하세요.
뒤끝서버를 공부중인 초보개발자입니다.

몇가지 문의사항이 있어 문의 글을 쓰게 되었습니다.

  1. json data 저장 후, 저장된 json data를 불러오는 방법을 문의드립니다.
    하기코드와 같이 LIST형식의 heroInfo_Json을 json형식으로 변환하여
    뒤끝서버에 저장하였습니다.

    public void SaveJsonFile()
    {
    heroInfo_Data = JsonMapper.ToJson(heroInfo_Json);
    param.Add(“Hero”, heroInfo_Data);
    Backend.GameData.Insert ( “Info”, param );
    }

    게임정보관리->테이블관리->'Info’테이블 클릭->해당 id의 ‘Hero’ 칸의 Data가 하기와 같이 string 형식으로
    저장된 것을 확인하였습니다.
    [0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,5,0,0,0,0,0,0,300,1,200000,100,0,0,0,4,4,0,0]

저장된 위의 string 형식을 위의 코드에 있는 heroInfo_Data에 저장했던 형식 그대로 불러올 수 있을까요?

  1. 또한 위와 같은 형식으로 뒤끝 서버에 저장한 json data가 하기와 같습니다.
    item_Name 부분이 한글이름으로 작성되어 있는데, 뒤끝서버에 저장된 string 자료를 보니 숫자와 영문으로
    표기가 되어있습니다. 1)질문에서 답변주실 방법으로 게임에 로드하면 한글이름으로 다시 정상적으로
    불러와지는지 문의드립니다.
    [{“item_Name_Json”:"\uBB34\uB518 \uAC80",“item_Type_Json”:1,“item_Upgrade_Json”:1,“item_Damage_Json”:20,“item_Health_Json”:0,“item_CriticalDamage_Json”:0,“item_CriticalChance_Json”:0,“item_Id_Json”:0,“item_IsUse_Json”:1,“item_IsMake_Json”:1,“item_MatterialType_Json”:0,“item_Qty_Json”:1,“item_Star_Json”:1},{“item_Name_Json”:"\uD6C8\uB828\uC6A9 \uAC80",“item_Type_Json”:1,“item_Upgrade_Json”:1,“item_Damage_Json”:50,“item_Health_Json”:0,“item_CriticalDamage_Json”:0,“item_CriticalChance_Json”:0,“item_Id_Json”:1,“item_IsUse_Json”:0,“item_IsMake_Json”:0,“item_MatterialType_Json”:0,“item_Qty_Json”:0,“item_Star_Json”:1},

  2. 뒤끝서버에 data를 저장하다보면 같은id에 이전 저장이 계속 누적이되는데, 게임에서 저장된 data를 불러오면
    최신으로 불러와지는지, 이부분은 제가 따로 관리할게 없는지 문의드립니다.

안녕하세요 개발자님.

  1. list를 json 변환 없이 바로 param에 넣을 경우, 불러와서 사용할 때에 다시 List형태로 파싱하여 사용이 가능합니다. 허나 개발자님이 작성하신 로직처럼 json으로 변경 후 param에 넣을 경우 string 형태로 값이 넣어져 파싱하기 어려울 수 있습니다.
    그러므로 아래 코드와 같이 List형태를 바로 param에 넣는 것을 추천드립니다.
public void SaveJsonFile()
{
param.Add(“Hero”, heroInfo_Json);
Backend.GameData.Insert ( “Info”, param );
}
  1. 해당 부분 또한 json으로 파싱을 하지 않고 값을 param에 직접 대입하면 한글로 데이터를 삽입하는 것이 가능합니다. 위와 같이 저장이 될 경우, 클라이언트에서 한글로 적용하려면 유니코드값 → 한글 로 파싱하는 로직이 필요할 것 같습니다.

  2. 데이터가 한번 삽입이 되었다면 이후에는 데이터가 있는지 읽어오기를 호출하고(Backend.GameData.GetMyData), 값이 있다면 이후에는 게임정보 수정을(Backend.GameData.Update), 값이 없다면 게임정보 삽입을(Backend.GameData.Insert)를 진행하는식으로 하면 됩니다.

Backend.GameData.Insert 는 새로운 row를 계속 생성하는 것이고, Backend.GameData.Update는 기존에 있던 row를 수정하는 기능입니다.

Backend.GameData.Get는 최신 데이터 순으로 읽어옵니다.