Cuando se utilizan macros de bajo nivel (LLD) en el preprocesamiento de JSONPath y se resuelven sus valores, se aplican las siguientes reglas de escape de caracteres especiales:
Por ejemplo:
| JSONPath | Valor de macro LLD | Tras sustitución |
|---|---|---|
| $.[?(@.value == "{#MACRO}")] | valor "especial" | $.[?(@.value == "valor \"especial\"")] |
| c:\temp | $.[?(@.value == "c:\\temp")] | |
| a\\b | $.[?(@.value == "a\\\\b")] |
Cuando se utiliza en la expresión, la macro que puede tener caracteres especiales debe ir entre comillas dobles:
| JSONPath | Valor de macro LLD | Tras sustitución | Resultado |
|---|---|---|---|
| $.[?(@.value == "{#MACRO}")] | valor "especial" | $.[?(@.value == "valor \"especial\"")] | OK |
| $.[?(@.value == {#MACRO})] | $.[?(@.value == valor \"especial\")] | Expresión JSONPath incorrecta |
Cuando se utiliza en la ruta, la macro que puede tener caracteres especiales debe ir entre corchetes y comillas dobles:
| JSONPath | Valor de macro LLD | Tras sustitución | Resultado |
|---|---|---|---|
| $.["{#MACRO}"].value | c:\temp | $.["c:\\temp"].value | OK |
| $.{#MACRO}.value | $.c:\\temp.value | Expresión JSONPath incorrecta |