Cuando se utilizan macros de descubrimiento de bajo nivel en el preprocesamiento de JSONPath y sus valores se resuelven, se aplican las siguientes reglas para escapar caracteres especiales:
Por ejemplo:
JSONPath | Valor de macro LLD | Después de la 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 estar entre comillas dobles:
JSONPath | Valor de macro LLD | Después de la sustitución | Resultado |
---|---|---|---|
$.[?(@.value == "{#MACRO}")] | especial "valor" | $.[?(@.value == "especial \"valor\"") ] | Aceptar |
$.[?(@.value == {#MACRO})] | $.[?(@.value == especial \"value\")] | JSONPath incorrecto expresión |
Cuando se utiliza en la ruta, la macro que puede tener caracteres especiales debe estar entre corchetes y comillas dobles:
JSONPath | Valor de macro LLD | Después de la sustitución | Resultado |
---|---|---|---|
$.["{#MACRO}"].valor | c:\temp | $.["c:\\temp"].valor | OK |
$.{#MACRO}.value | $.c:\\temp.value | Expresión JSONPath incorrecta |