Se encuentra viendo la documentación de la versión en desarrollo, puede estar incompleta.
Esta página fue traducida automáticamente. Si detectas un error, selecciónalo y presiona Ctrl+Enter para informarlo a los editores.

1 Escape de caracteres especiales de valores de macros LLD en JSONPath

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:

  • solo se consideran para escape los caracteres barra invertida (\) y comillas dobles (");
  • si el valor de la macro resuelta contiene estos caracteres, cada uno de ellos se escapa con una barra invertida;
  • si ya están escapados con una barra invertida, no se considera como escape y tanto la barra invertida como el carácter especial siguiente se escapan una vez más.

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