J'ai cette chaîne JSON:
var bpi = JsonConvert.DeserializeObject<dynamic>(json)["bpi"];
foreach (var currency in bpi)
{
// Do something with currency["rate"] for example
}
4 Réponses :
Vous pouvez utiliser Pas de correspondance à 100%, mais montre comment atteindre les échantillons sont ici: HTTPS : //www.newtonsoft.com/json/help/html/toObjectComplet.htm P> jarray code> et jobject code> de classes de Newtonsoft.json pour y parvenir. P>
Vous devez accéder à la propriété valeur code> de l'objet renvoyé. foreach (var bpis in JsonConvert.DeserializeObject<dynamic>(j)["bpi"])
{
Console.WriteLine(bpis.Value["rate"].Value);
Console.WriteLine(bpis.Value["code"].Value);
}
Le problème que vous avez est que les membres de à la place de votre commentaire p>
plutôt faire quelque chose comme p>
BPI code> sont jProperty code> des instances - ils ont un nom et une valeur. La valeur em> de la propriété est l'objet avec les données qui vous intéressent, pas le propriété elle-même . p>
// fait quelque chose avec la devise ["Noter"] par exemple code> p>
console.writeline (devise.value ["taux"]); code> p>
"USD": {
"code": "USD",
"symbol": "$",
"rate": "8,392.9583",
"description": "United States Dollar",
"rate_float": 8392.9583
}
"GBP": {
"code": "GBP",
"symbol": "£",
"rate": "6,634.7343",
"description": "British Pound Sterling",
"rate_float": 6634.7343
}
"EUR": {
"code": "EUR",
"symbol": "€",
"rate": "7,605.7660",
"description": "Euro",
"rate_float": 7605.766
}
Je suggérerais App.QuickType.io?Share=vjjuujw2twmgeiff2rrd comme point de départ. 99% des problèmes JSON disparaissent si vous convertissez le JSON en un type de béton et allez-y.