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.