[comment]: # ({2a528a18-c19f94bc})
# 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**|

[comment]: # ({/2a528a18-c19f94bc})
