Как десериализовать массив JSON без ключа? C#
Я работаю над оберткой API для API бунта. Я столкнулся с проблемой со следующей конечной точкой:
Чемпион-мастерство /v4/ чемпион-Masteries/ по-призыватель /{encryptedSummonerId}
Я использую Newtonsoft JSON и RestSharp, чтобы получить результаты. Вот мой код
public Masteries getMasteriesBySummoner(string id, string server)
{
RestClient client = new RestClient($"https://{getServer(server)}.api.riotgames.com/lol/");
RestRequest request = new RestRequest($"champion-mastery/v4/champion-masteries/by-summoner/{id}");
request.AddHeader("X-Riot-Token", key);
var response = client.Get(request);
Masteries masteries = JsonConvert.DeserializeObject<Masteries>(response.Content);
return masteries;
}
Этот шаблон работал для около 80% конечных точек. Однако для этой конкретной конечной точки возвращается массив JSON. Этот конкретный массив json также не имеет таких ключей, как "данные" или "записи", как все остальные. Так что я не могу понять, как правильно сделать модель мастерства. Вот что у меня так далеко
public class Masteries
{
public int championLevel { get; set; }
public bool chestGranted { get; set; }
public int championPoints { get; set; }
public int championPointsSinceLastLevel { get; set; }
public int championPointsUntilNextLevel { get; set; }
public string summonerId { get; set; }
public int tokensEarned { get; set; }
public int championId { get; set; }
public object lastPlayTime { get; set; }
}
который работает для одной записи, но не для всего массива. Добавление списка, похоже, не работает, поскольку нет ключа, на котором можно основывать список.
Вот образец JSON Pattern...
[
{
"championLevel": 7,
"chestGranted": false,
"championPoints": 70594,
"championPointsSinceLastLevel": 48994,
"championPointsUntilNextLevel": 0,
"summonerId": "xaZh_7U2VIRtArKG-mgda_Rt9TSRVRmhBp2GFE88bmTSqJU",
"tokensEarned": 0,
"championId": 10,
"lastPlayTime": 1537676432000
},
{
"championLevel": 7,
"chestGranted": true,
"championPoints": 51273,
"championPointsSinceLastLevel": 29673,
"championPointsUntilNextLevel": 0,
"summonerId": "xaZh_7U2VIRtArKG-mgda_Rt9TSRVRmhBp2GFE88bmTSqJU",
"tokensEarned": 0,
"championId": 69,
"lastPlayTime": 1548208513000
}
]
Любая помощь приветствуется, спасибо.