2017-05-27 2 views
0

Je n'arrive pas à mapper correctement mes classes pour cette page Web json.Imprimer JSON int dans la zone de texte

using (var webClient = new System.Net.WebClient()) 
     { 
      var json = webClient.DownloadString(@"https://opskins.com/api/user_api.php?request=GetLowestSalePrices&key=bac6e59d7edf4be1529adf53a1a5f8&appid=295110&contextid=1&names=Skin:+Graffiti+Hunting+Rifle"); 
      var jsonData = JsonConvert.DeserializeObject<Items>(json); 

      richTextBox1.Text = jsonData.SkinGraffitiHuntingRifle.ToString(); 
     } 
    } 

{"result":{"appid":295110,"contextid":1,"items":{"Skin: Graffiti Hunting Rifle":11990}}} 

Classe:

public class Rootobject 
{ 
    public Result result { get; set; } 
} 

public class Result 
{ 
    public int appid { get; set; } 
    public int contextid { get; set; } 
    public Items items { get; set; } 
} 

public class Items 
{ 
    public int SkinGraffitiHuntingRifle { get; set; } 
} 
} 

Je ne peux pas imprimer la valeur de la peau: Graffiti fusil de chasse en zone de texte, retourne la chaîne est 0 parce que je ne pas la carte correctement.

Répondre

0

Je pense que vous vouliez utiliser Rootobject lorsque vous désérialisez. Essaye ça ;

var jsonData = JsonConvert.DeserializeObject<Rootobject>(json); 
0

Salut le mappage SkinGraffitiHuntingRifle ne semble pas correct, pas de nom de propriété pour l'ID. Nous pouvons faire une solution de contournement pour cela.

using (var webClient = new System.Net.WebClient()) 
     { 
      var json = webClient.DownloadString(@"https://opskins.com/api/user_api.php?request=GetLowestSalePrices&key=bac6e59d7edf4be1529adf53a1a5f8&appid=295110&contextid=1&names=Skin:+Graffiti+Hunting+Rifle"); 
      var jsonData = JsonConvert.DeserializeObject<Rootobject>(json); 
      richTextBox1.Text = jsonData.result.items.SkinGraffitiHuntingRifle.ToString(); 
     } 

Classe:

public class Rootobject 
{ 
    public Result result { get; set; } 
} 

public class Result 
{ 
    public int appid { get; set; } 
    public int contextid { get; set; } 
    public Items items { get; set; } 
} 

public class Items 
{ 
    [JsonProperty(PropertyName = "Skin: Graffiti Hunting Rifle")] 
    public int SkinGraffitiHuntingRifle { get; set; } 
} 

JsonPropertyName