Comment analyser imbriquée structure de données JSON
Dans une application Windows Phone, j'ai besoin d'analyser les données JSON. Je suis en mesure d'obtenir les valeurs pour les touches qui ne sont pas imbriqués. Mais si le JSON a des tableaux à l'intérieur des tableaux, alors comment puis-je extraire des valeurs à partir du fichier JSON?
Dans le passé, ce que j'ai fait a été de parser le JSON dans un JArray objet, puis de la JToken j'ai eu la valeur d'une chaîne spécifiée clé.
Dans le JSON ci-dessous, people
a men
et women
, et men
lui-même a beaucoup d'hommes avec des Identifiants différents. Donc, si j'ai cette chose comme une chaîne JSON, comment puis-je imprimer la valeur de l'ID d'un homme en particulier? Je pourrais avoir converti en JArray et d'accéder à des valeurs indexées s'il n'y avait pas de tableaux imbriqués, mais comment faire maintenant?
Voici mon JSON:
{
"people": [
{
"men": [
{
"id": 0,
"name": "alex",
"age": 25
},
{
"id": 1,
"name": "bob",
"age": 26
},
{
"id": 2,
"name": "charlie",
"age": 27
}
]
},
{
"women": [
{
"id": 0,
"name": "alexys",
"age": 25
},
{
"id": 1,
"name": "bethany",
"age": 26
},
{
"id": 2,
"name": "catherine",
"age": 27
}
]
}
]
}
OriginalL'auteur Shagufta Oliveyu Methwani | 2014-11-18
Vous devez vous connecter pour publier un commentaire.
De haut-niveau
JToken
, vous pouvez utiliserSelectToken()
pour naviguer jusqu'à l'JArray
qui a les données qui vous intéressent:À partir de là, vous pouvez traiter la
JArray
comme vous le feriez normalement:Même chose pour les femmes, le tableau, à l'exception de la
SelectToken()
chemin seraitpeople[1].women
.DÉMO: https://dotnetfiddle.net/7BoiUO
OriginalL'auteur Brian Rogers
Utiliser le http://json2csharp.com/
Il génère les classes. Je ne peux pas copier, parce que vous avez mis ici comme une image, pas de texte.
Pour le tableau, vous devez créer d'autres classe. Dans votre cas vous aurez des Gens de la classe qui contient les Hommes[] et les Femmes[] tableaux. Les Hommes et les Femmes des classes contiennent un autre tableau, qui contient l'Id, le Nom, l'Âge.
Je développe une application similaire, et j'utilise le Newtonsoft Json. Il fonctionne parfaitement avec les tableaux.
OriginalL'auteur Speederer
Utilisation Json.net
Vous pouvez l'ajouter via nuget.
Voici un bon guide pour imbriquée parsing json
OriginalL'auteur Ritesh Khichadia