Quando macros de descoberta de baixo nível (LLD) são usadas em pré-processamento JSONPath e seus valores são resolvidos, as seguintes regras de escape de caracteres especiais são aplicadas:
Por exemplo:
JSONPath | Valor da macro LLD | Após substituição |
---|---|---|
$.[?(@.value == "{#MACRO}")] | special "value" | $.[?(@.value == "special \"value\"")] |
c:\temp | $.[?(@.value == "c:\\temp")] | |
a\\b | $.[?(@.value == "a\\\\b")] |
Quando usado na expressão, a macro que pode conter caracteres especiais deve ser colocada entre aspas duplas:
JSONPath | Valor da macro LLD | Após substituição | Resultado |
---|---|---|---|
$.[?(@.value == "{#MACRO}")] | special "value" | $.[?(@.value == "special \"value\"")] | OK |
$.[?(@.value == {#MACRO})] | $.[?(@.value == special \"value\")] | Expressão JSONPath inválida |
Quando usado no caminho, a macro que pode conter caracteres especiais deve ser colocada entre colchetes e aspas duplas:
JSONPath | Valor da macro LLD | Após substituição | Resultado |
---|---|---|---|
$.["{#MACRO}"].value | c:\temp | $.["c:\\temp"].value | OK |
$.{#MACRO}.value | $.c:\\temp.value | Expressão JSONPath inválida |