Я хотел бы создать свой собственный сайт/приложение dota 2 stats. В принципе, я использую API паролей для сбора всех необходимых данных. Большая часть этих данных хранится в формате Json.Json to C# Объекты в .NET
Я пытался десериализовать формат, чтобы иметь данные в читаемом формате. В идеале я хочу превратить его в объекты, а затем поместить их в сетку данных, чтобы я мог правильно представить эти данные пользователю.
Кроме того, я использую перенос SteamAP WebAPI Wrapper для пакетов C# и Newtonsoft.
Public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
SteamWebAPI.SetGlobalKey("MysteamKey");
var r2 = SteamWebAPI.Game().Dota2().IDOTA2().GetHeroes().GetResponseString(RequestFormat.JSON);
var ds1 = Newtonsoft.Json.JsonConvert.DeserializeObject(r2);
RootObject hero = JsonConvert.DeserializeObject<RootObject>(r2);
Response.Write("Display Hero Data.. </br></br>");
Response.Write(hero.result.heroes);
Response.Write(hero);
}
}
Вот мой класс героя: я в основном использовал этот сайт, чтобы придумать с ним - http://json2csharp.com/ Кроме того, файл Json можно найти здесь https://api.steampowered.com/IEconDOTA2_570/GetHeroes/v0001/?key=2D13D618DA712015812E970165632F02&language=en_us
public class Hero
{
public string name { get; set; }
public int id { get; set; }
public string localized_name { get; set; }
}
public class Result
{
public List<Hero> heroes { get; set; }
public int status { get; set; }
public int count { get; set; }
}
public class RootObject
{
public Result result { get; set; }
}
В настоящее время, это то, что отображается в мой текущий код:
"Дисплей героя данных ..
System.Collections.Generic.List`1 [Hero] RootObject"
Это, кажется, не отображать какие-либо данные из файла JSON:/ Я уверен, что я что-то straighforward здесь отсутствует, но я просто не могу положить палец на нем :(
Мне действительно нужна помощь здесь, если я смогу получить эту работу, тогда я могу начать тянуть все другие данные, которые мне нужны. Я был бы признателен за любую помощь. Спасибо заранее.
Спасибо за ваш быстрый ответ, я получаю сообщение об ошибке «Ссылка на объект не установлена в экземпляр объекта. " Я использую response.write временно, пока не смогу разобраться в этом. Затем я могу выводить результаты непосредственно в datagrid. – warboss
У него уже есть объект-герой, попробуйте foreach (var hero1 in hero.result.heroes) –
Я заметил, что и уже сделал изменение, сайт загружается, и именно там возникает ошибка сервера. Я думаю, мне нужно внести еще несколько изменений в код. Я полагаю, что когда var проходит через json-массив или (разбор), он делает каждый элемент в объекте правильным? Как вы думаете, мне нужен другой метод? Публичная статическая задача async? Я видел это раньше в аналогичном контексте. Я не знаю, что он делает, но я сделаю некоторое чтение/посмотрю несколько видеороликов об этом. – warboss