Áú»¢¶Ä²©

1 Escapar car¨¤cters especials dels valors de macro LLD a JSONPath

Quan s'empren macros de descoberta de baix nivell en el preprocessament de JSONPath i es resolen els seus valors, s'apliquen les regles d'escapament de car¨¤cters especials seg¨¹ents:

  • nom¨¦s les barres invertides (\) i les cometes dobles ("") es consideren per escapar;
  • si el valor de la macro resolta cont¨¦ aquests car¨¤cters, cadascun d'ells s'escapa amb una barra invertida (/);
  • si ja s'escapa amb una barra invertida, aquesta no es considera com a escapada i la barra invertida aix¨ª com els car¨¤cters especials seg¨¹ents es tornen a escapar.

Per exemple:

JSONPath Valor de la macro LLD Despr¨¦s de la substituci¨®
$.[?(@.value == "{#MACRO}")] special "value" $.[?(@.value == "special \"value\"")]
c:\temp $.[?(@.value == "c:\\temp")]
a\\b $.[?(@.value == "a\\\\b")]

Quan s'empra a l'expressi¨®, la macro que pot contindre car¨¤cters especials s'ha de lliurar d'entre cometes:

JSONPath Valor de macro LLD Despr¨¦s de la substituci¨® Resultat
$.[?(@.value == "{#MACRO}")] special "value" $.[?(@.value == "special \"value\"")] OK
$.[?(@.value == {#MACRO})] $.[?(@.value == special \"value\")] Bad JSONPath expression

Quan s'empra al cam¨ª, la macro que pot contindre car¨¤cters especials s'ha de lliurar entre claud¨¤tors i cometes:

JSONPath Valor de macro LLD Despr¨¦s de la substituci¨® Resultat
$.["{#MACRO}"].value c:\temp $.["c:\\temp"].value OK
$.{#MACRO}.value $.c:\\temp.value Bad JSONPath expression