J'ai un problème avec JsonPath fonctionnant différemment lors du chargement de jeton (.Load) à la fois en utilisant JsonTextReader et en chargeant le JSON entier en utilisant ReadFrom. Voici un exemple: JSON: "[*] personne" Path = Méthode = SelectTokens (chemin)JsonPath avec JsonTextReader: jeton à la fois
[
{
"person": {
"personid": 123456
}
},
{
"person": {
"personid": 798
}
}
]
Lorsque vous utilisez .ReadFrom, il retournera les 2 éléments appropriés. Si j'utilise .Load cependant, cela retournera 0 éléments. Toutefois, si je change le chemin d'accès à "personne", .ReadFrom renvoie 0 éléments tandis que .Load renvoie 2 éléments. Pour corriger, je pourrais changer le chemin afin qu'il enlève jusqu'au premier "." c'est-à-dire path = sous-chaîne (path.index (".") + 1); Cependant, cela ressemble plus à un bidouillage qu'à un correctif approprié. Naturellement, je devrais également m'assurer que le JSON est un tableau, mais dans la plupart de mes cas, ce serait. Finalement, j'essaie d'apprendre à utiliser le chemin JSON avec des tableaux lors du chargement d'un jeton à la fois. Des recommandations?
Vous avez certainement. Dans votre cas, vous avez modifié le chemin comme je l'ai fait. J'espérais que je serais capable d'utiliser le chemin json en amont (plus proche du lecteur) donc je n'aurais pas à modifier le chemin. Aussi en modifiant le chemin, s'ils m'ont donné [1] .person, je vais devoir gérer le [1] moi-même. Des idées? Merci pour l'aide. –
Découvrez mes dernières modifications – Stuart