Traduit de l'anglais à l'aide de l'IA
Veuillez noter que cet article a été traduit à l'aide de la technologie IA. Bien que nous travaillions à maintenir l'exactitude, certains détails peuvent ne pas refléter parfaitement le texte original. Si vous avez des doutes sur une information, veuillez vous référer à la version anglaise.
Lorsque vous utilisez les Détails de dépannage des erreurs API, vous pouvez obtenir plus de flexibilité dans les points de données que vous souhaitez exploiter, en collectant des éléments spécifiques du corps de la requête ou de la réponse au format JSON, en utilisant JSON Path.
JSON Path est un puissant langage de requête utilisé pour naviguer et extraire des données des structures JSON. Cependant, dans son application pour les éléments Body, nous avons appliqué des limitations sur l'utilisation de certains opérateurs JSON Path. Cet article vous guidera dans l'utilisation de JSON Path avec un ensemble restreint d'opérateurs.
Opérateurs disponibles
Voici la liste des opérateurs JSON Path disponibles :
Opérateur | Description |
.<nom> | Enfant noté par point : Utilisez la notation par point pour accéder aux éléments enfants d'un objet. |
['<nom>'] | Enfant noté par crochets : Utilisez la notation par crochets pour accéder à l'élément enfant. |
[<nombre>] |
Index de tableau : Utilisez l'index du tableau. |
Limites
- L'opérateur racine $ n'est pas nécessaire : Vous pouvez optionnellement spécifier l'élément racine à interroger, bien que cela ne soit pas requis.
- L'accès à plusieurs éléments avec plusieurs noms dans un tableau n'est pas autorisé.
- L'accès à plusieurs éléments avec plusieurs index dans un tableau n'est pas autorisé.
Opérateurs non disponibles : Expressions de filtre, tranches de tableau, scans profonds, nœuds actuels et jokers.
De plus, vous n'êtes pas autorisé à utiliser l'une des fonctions JSON Path ou des opérateurs de filtre.
En comprenant les opérateurs disponibles et leur utilisation, vous pouvez naviguer et extraire efficacement des données de vos structures JSON, même avec les limitations fournies.
Exemple
Explorons comment vous pouvez utiliser ces opérateurs pour l'exemple suivant :
{ "errors": [ { "message": "La connexion au compte était incorrecte ou votre compte est temporairement désactivé. Veuillez patienter et réessayer plus tard.", "extensions": { "category": "graphql-authentication" }, "locations": [ { "line": 2, "column": 3 } ], "path": [ "generateCustomerToken" ], "code": 10005 } ], "data": { "generateCustomerToken": null, "emailAddressCheck": "valid", “emailAddress”: “bob@contentsquare.com” }
JsonPath | Statut | Résultat retourné |
errors[0].message | ✅ | “La connexion au compte était incorrecte ou votre compte est temporairement désactivé. Veuillez patienter et réessayer plus tard.” |
errors[0].extensions.category | ✅ | “graphql-authentication” |
data.emailAddressCheck | ✅ | “valid” |
data[“emailAddressCheck”] | ✅ | “valid” |
data.emailAddress | ✅ | “name@contentsquare.com” |
errors | ❌ | “N/A” (errors est un tableau et seule une valeur de chaîne peut être retournée) |
errors.message | ❌ | “N/A” (“errors” est un tableau) |
data[0] | ❌ | “N/A” (l'élément “data” n'est pas un tableau) |