Testeur et générateur de JSON Pointer
Collez le document et un pointeur comme /items/0/name. Utilisez le générateur par segments quand les noms contiennent des barres ou des tildes.
Fonctionne localement dans votre navigateur
Collez le document et un pointeur comme /items/0/name. Utilisez le générateur par segments quand les noms contiennent des barres ou des tildes.
Fonctionne localement dans votre navigateur
L’outil résout un JSON Pointer RFC 6901 sur un document JSON et affiche la valeur sélectionnée, les segments de chemin décodés et le type de cette valeur. Un pointeur est soit la chaîne vide, qui sélectionne tout le document, soit une suite de segments séparés par des barres obliques : /users/0/name entre dans le tableau users, prend son premier élément et y lit name.
Le générateur par segments travaille dans l’autre sens. Un segment par ligne est réuni en un pointeur échappé : les noms contenant une barre ou un tilde ressortent en ~1 et ~0 au lieu de casser le chemin. Tout s’exécute dans la page, et Copier place la valeur résolue dans le presse-papiers.
Le pointeur est découpé sur les barres obliques, et la barre initiale ne fait que marquer le début : //empty vise la propriété dont le nom est la chaîne vide, /a~1b la clé a/b. Les deux échappements sont ~1 pour la barre et ~0 pour le tilde ; un tilde suivi d’autre chose, y compris de la fin du pointeur, est refusé par une erreur au lieu d’être lu comme un caractère littéral.
Le champ accepte aussi un fragment d’URI : #/users/0/name et la forme encodée #%2Fusers%2F1%2Fname donnent les mêmes segments, et #/a%20b lit la clé a b. Les espaces autour du pointeur sont retirés avant l’analyse : un espace après /a est donc ignoré.
Les positions de tableau suivent RFC 6901 à la lettre : un segment ne compte comme indice que s’il vaut 0 ou une suite de chiffres sans zéro initial. /arr/1 sélectionne le deuxième élément, alors que /arr/01, /arr/- et un indice au-delà de la fin ne sont pas trouvés ; le tiret qui marque la fin d’un tableau dans JSON Patch n’est pas une valeur lisible ici.
Les objets sont comparés par nom de propriété propre exact, donc les clés avec espaces, lettres Unicode ou noms comme __proto__ se résolvent comme les autres — sans joker ni recherche. La valeur s’affiche selon son type : chaînes brutes, nombres et booléens en JSON, null tel quel, objets et tableaux mis en forme, avec Type de valeur et Résolu dans les mesures.
Construire à partir de segments échappe chaque ligne séparément, réunit les segments avec des barres et remplace ~ par ~0 avant de transformer / en ~1, l’ordre exigé par RFC 6901. Une liste vide produit un pointeur vide qui sélectionne tout le document ; si le panneau du document est vide, l’action écrit seulement le pointeur et indique qu’il vient des segments, sans inventer de valeur.
Les deux directions s’exécutent dans le navigateur : résoudre, construire, l’exemple et Copier n’envoient aucune requête réseau, l’outil fonctionne donc hors ligne et sur des données qui ne doivent pas quitter la machine. Copier reste inactif tant qu’aucune valeur n’est affichée : après un JSON invalide, un mauvais échappement ou un pointeur introuvable, la valeur précédente est effacée et ne peut pas être copiée par erreur.