API Rest

Récupérer un élément à partir de son path dans un dictionnaire

a marqué ce sujet comme résolu.

Salut, tu peux mettre ton code en forme avec ``` (AltGr+7) au début et à la fin de ton code en précisant le langage à la suite du premier ```

Par exemple

int is_prime(int n){
  return n%2 == 0;
}

(tu peux citer mon message pour voir comment j’ai fait)

+0 -0

Est-ce un exercice où tu dois lire le Json ? Et ensuite le parcourir avec un path ? Quel est le format de ce path ?

Ta fonction ParsePathString n’utilise pas ton paramètre pathstr

Peux-tu donner un exemple pour que l’on puisse comprendre effectivement de quoi il en retourne ? As-tu essayé de faire un exemple à la main ?

Juste un bout de code le path est représenté par # path #

{ "calculationDateTime":"2020–08–24T13:39:22:992+02","incompatibilities":[{"desired":{"comTable":"COM","stateITUCode":"BEL" }}] }

Donne comme réponse { #calculationDateTime#calculationDateTime:="2020–08–24T13:39:22:992+02" incompatibilities[0] #incompatibilities[0].desired#desired:={ #incompatibilities[0].desired.comTable#comTable:="COM" #incompatibilities[0].desired.stateITUCode#stateITUCode:="BEL" }

}

Pour moi tu dois séparer ton path au niveau des .

Après la logique est la suivante :

le path #incompatibilities[0].desired.stateITUCode#

est divisé de la manière suivante :

[incompatibilities[0], desired, stateITUCode]

Tu dois vérifier que ton objet json contient incompatibilities, que c’est bien quelque chose qui a la forme d’un tableau puis accéder à l’élément d’indice 0.

Puis tu dois vérifier que l’objet json ainsi obtenu contient un champ desired et y accéder.

Puis tu dois vérifier que l’objet json ainsi obtenu contient un champ stateITUCode et y accéder.

Ça va dépendre de ton objet BEJson ça. Tu as une string / objet initiale que tu transformes en objet BEJson (qui semble avoir une structure d’arbre avec des childs / etc).

À partir de ta path et de ton objet BEJson tu appliques les différentes parties de la path à l’objet BEJson.

Pour parser la path qui est de la forme #a.b.c# tu dois déjà séparer au niveau des . puis au niveau des indices de tableau []. Cela doit être possible avec des fonctions de manipulation usuelles de chaînes de caractères.

Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte