그냥 해본 것
using System;
using System.Collections.Generic;
using System.Text;
using System.IO;
using Newtonsoft.Json;
using System.Linq;
namespace DataMakePractice
{
class App
{
//생성자
public App()
{
string jsonItem = File.ReadAllText("./item_data.json");
ItemData[] itemDatas = JsonConvert.DeserializeObject<ItemData[]>(jsonItem);
Dictionary<int, ItemData> dicItemDatas = new Dictionary<int, ItemData>();
foreach(ItemData data in itemDatas)
{
dicItemDatas.Add(data.id, data);
}
foreach(KeyValuePair<int, ItemData> pair in dicItemDatas)
{
ItemData data = pair.Value;
}
string jsonMission = File.ReadAllText("./mission_data.json");
MissionData[] missionDatas = JsonConvert.DeserializeObject<MissionData[]>(jsonMission);
Dictionary<int, MissionData> dicMissionDatas = new Dictionary<int, MissionData>();
foreach(MissionData data in missionDatas)
{
dicMissionDatas.Add(data.id, data);
}
foreach(KeyValuePair<int,MissionData> pair in dicMissionDatas)
{
MissionData data = pair.Value;
Console.WriteLine("{0},\n{1}\n보상: {2}x{3}", data.missionName, data.missionExplication, data.rewardItemId, data.amount);
//item의 id말고 이름을 출력하고 싶은데 어떻게 하는지 모르겠다
}
}
}
}
item 이름 출력하도록 고친 것
using System;
using System.Collections.Generic;
using System.Text;
using System.IO;
using Newtonsoft.Json;
using System.Linq;
namespace DataMakePractice
{
class App
{
string jsonItem = File.ReadAllText("./item_data.json");
Dictionary<int, ItemData> dicItemDatas = new Dictionary<int, ItemData>();
Dictionary<int, MissionData> dicMissionDatas = new Dictionary<int, MissionData>();
//생성자
public App()
{
ItemData[] itemDatas = JsonConvert.DeserializeObject<ItemData[]>(jsonItem);
foreach (ItemData data in itemDatas)
{
dicItemDatas.Add(data.id, data);
}
foreach(KeyValuePair<int, ItemData> pair in dicItemDatas)
{
ItemData data = pair.Value;
}
string jsonMission = File.ReadAllText("./mission_data.json");
MissionData[] missionDatas = JsonConvert.DeserializeObject<MissionData[]>(jsonMission);
foreach(MissionData data in missionDatas)
{
dicMissionDatas.Add(data.id, data);
}
foreach(KeyValuePair<int,MissionData> pair in dicMissionDatas)
{
MissionData data = pair.Value;
ItemData itemData = this.dicItemDatas[data.rewardItemId];
string rewardName = itemData.name;
Console.WriteLine("{0}\n{1}\n보상: {2}x{3}", data.missionName, data.missionExplication, rewardName, data.amount);
Console.WriteLine();
}
}
}
}
'C#' 카테고리의 다른 글
무방향 그래프의 인접행렬 2차원 배열로 구현하기 (0) | 2023.01.29 |
---|---|
이분탐색/이진탐색/Binary Search (0) | 2023.01.29 |
리스트, 스택, 큐 직렬화/역직렬화 (0) | 2023.01.13 |
객체 한 개 직렬화/역직렬화 (0) | 2023.01.12 |
linq 연습 (0) | 2023.01.12 |