2015-11-21 3 views
1

Я пытаюсь использовать веб-API Steam для получения JSON и анализа его с помощью JSON.Net. Я просто жестко кодирую URL-адрес, где я знаю, что я получу JSON. При запуске я столкнулся с следующей ошибкой:Неожиданный символ, встречающийся при разборе значения:

Неожиданный символ, встречающийся при разборе значения:. Путь '', линия 0, позиция 0.

Точки ошибок на линии 22 моего контроллера:

Строка 22: SteamResponse ответ = JsonConvert.DeserializeObject (JSON);

Вот мои классы:

public class Game 
{ 
    public int appid { get; set; } 
    public int playtime_forever { get; set; } 
    public int? playtime_2weeks { get; set; } 
} 

public class SteamResponse 
{ 
    public int game_count { get; set; } 
    public List<Game> games { get; set; } 
} 

public class RootObject 
{ 
    public SteamResponse response { get; set; } 
} 

Мой контроллер выглядит следующим образом:

 List<Game> gameList = new List<Game>(); 

     WebClient wc = new WebClient(); 

     var json = wc.DownloadString("http://api.steampowered.com/IPlayerService/GetOwnedGames/v0001/?key=" + steamAPIKey + "&steamid=76561197994394917&format=json"); 

     SteamResponse response = JsonConvert.DeserializeObject<SteamResponse>(json); 

Я посетил URL в браузере, чтобы убедиться, что это правильно, и я также протестировали URL, используя JSON Lint. Я не уверен, что я делаю неправильно здесь. Я проверил другие темы и проверил проблемы, которые они перечисляли, но не нашел их.

Here is a link to the JSON I'm attempting to receive.

ответ

2

Вы создали тип RootObject, но вы не используете его в десериализации. Вы пробовали:

var root = JsonConvert.DeserializeObject<RootObject>(json); 
// access root.response; 
+0

Спасибо за быстрый ответ. Да, я пробовал RootObject, и я получаю ту же ошибку. – Jorbyte

+1

Возможно, это неверный ключ API потока, ссылка JSON, которую вы предоставили, работает для меня - https://dotnetfiddle.net/2KP7HO – devdigital

+0

Ну, ключ API находится в URL-адресе для ссылки JSON, так что это должно быть правильно? Я даже скопировал ваш пример кода в локальное консольное приложение, которое я только что создал и запустил, но получил ту же ошибку. Я смущен. – Jorbyte

Смежные вопросы

 Смежные вопросы