2015-07-29 4 views
0

Im новый для Json, и поэтому мне нужна ваша помощь в десериализации чего-то. У меня есть HttpClient отправка WebRequest:Json Deserialize C# Class

HttpClient http = new HttpClient(); 
      HttpResponseMessage response = await http.GetAsync(JsonBaseuri + IDInput.Text.ToString()); 
      response.EnsureSuccessStatusCode(); 
      string content = await response.Content.ReadAsStringAsync(); 
      InventoryJsonData.RootObject root1 = new InventoryJsonData.RootObject(); 
      root1 = JsonConvert.DeserializeObject<InventoryJsonData.RootObject>(content); 

RootClass определяется как:

class InventoryJsonData 
{ 
    public class RootObject 
    { 
     public bool Success { get; set; } 
     public object Error { get; set; } 
     public double Price { get; set; } 
     public string Username { get; set; } 

    } 
} 

я получаю сообщение об ошибке, и я не знаю, если мой код правильно за то, что я хочу сделать. Я хочу получить объект root1 с атрибутами из данных Json из webrequest. Что я сделал не так?

+1

Можете ли вы включить исключение, которое вы получаете? –

+0

Также укажите значение, которое будет занесено в переменную 'content', пожалуйста. –

+1

Как и JonEgerton и pwee167 - вам нужно приложить более подробную информацию. Другое дело, что вам не нужно создавать 'RootObject' перед десериализацией. 'InventoryJsonData.RootObject root1 = JsonConvert.DeserializeObject (content);' is enought –

ответ

0

Подобное исключение возникает при использовании версий VS2015 и Newtonsoft.Json 7.0. Если вы используете версию 7 сериализатора, возможно, просто попробуйте перевести ее на v6. Использовать nuget для изменения версии