Aller au contenu principal

3. Syntax (Syntaxe)

3. Syntax (Syntaxe)

Un JSON Pointer est une chaîne Unicode (voir [RFC4627], Section 3) contenant une séquence de zéro ou plusieurs jetons de référence (reference tokens), chacun préfixé par un caractère '/' (%x2F).

Étant donné que les caractères '' (%x7E) et '/' (%x2F) ont des significations spéciales dans JSON Pointer, '' doit être encodé comme '~0' et '/' doit être encodé comme '~1' lorsque ces caractères apparaissent dans un jeton de référence.

La syntaxe ABNF d'un JSON Pointer est:

json-pointer    = *( "/" reference-token )
reference-token = *( unescaped / escaped )
unescaped = %x00-2E / %x30-7D / %x7F-10FFFF
; %x2F ('/') and %x7E ('~') are excluded from 'unescaped'
escaped = "~" ( "0" / "1" )
; representing '~' and '/', respectively

Il s'agit d'une condition d'erreur (error condition) si une valeur JSON Pointer n'est pas conforme à cette syntaxe (voir Section 7).

Notez que les JSON Pointers sont spécifiés en caractères (characters), et non en octets (bytes).