Comment faire pour voir les Enfants().ToList() la méthode en JEnumerable<JToken> objet?
J'essaye de parser JSON par JSON.NET et dans la classe App est OK, mais si je veux écrire de la méthode d'analyse dans la classe personnalisée, VS ne voyez pas de méthode ToList()
dans JEnumerable<JToken>
objet.
D'inscription:
JObject newsResponse = JObject.Parse(e.Result);
IList<JToken> results = newsResponse["NewsResponse"]["NewsItems"]["NewsItem"].Children().ToList(); //Here don't see ToList()
List<News> newsResults = new List<News>();
foreach (JToken result in results)
{
News searchResult = JsonConvert.DeserializeObject<News>(result.ToString());
newsResults.Add(searchResult);
}
Erreur:
'Newtonsoft.Json.Linq.JEnumerable " n'
contient pas une définition pour 'ToList' et aucune méthode d'extension 'ToList'
acceptant un premier argument de type
'Newtonsoft.Json.Linq.JEnumerable " pourrait
être trouvé (vous manque une directive using ou une référence d'assembly?)
- Pourquoi avez-vous besoin
ToList()
? Peut-être que vous pourriez remplacerIList<JToken>
parvar
et retirer leToList()
. - merci, ça marche!!!!!!
- Je vais poster une réponse alors 🙂
Vous devez vous connecter pour publier un commentaire.
Vous n'avez pas besoin d'utiliser
ToList()
ici.Ceci va produire une Énumération (paresseux) collection utilisable avec votre
foreach
ci-dessous.Note: je suis en utilisant le var depuis que je ne connais pas le type exact rentré ici, mais nous n'avons pas vraiment soin de lui, et c'est probablement assez compliqué, donc c'est vraiment utile.
Depuis que je ne suis pas en mesure de commenter sur jv42 de la Réponse et puisque je n'aime pas les types anonymes, je vais construire sur sa réponse un peu.
Vous ne devez pas utiliser
.ToList()
comme mentionné ci-dessus, et les résultats seront unJEnumerable
qui peut êtreforeach
'ed par:var
est tout à fait différent d'un type anonyme, c'est seulement un mot-clé dire au compilateur de remplir la type pour vous, vous êtes toujours en utilisant le typage statique et le type de l'expression ne change pas (pas de conversion ou de quoi que ce soit).