1 Избегавање специјалних знакова из LLD макро вредности у JSONPath

Када се макрои за откривање ниског нивоа користе у JSONPath претходној обради и њихове вредности се разрешавају, примењују се следећа правила избегавања специјалних знакова:

  • само се знаци обрнуте косе црте (\) и двоструки наводници (") узимају у обзир за избегавање;
  • ако решена вредност макроа садржи ове знакове, сваки од њих се избегава обрнутом косом цртом;
  • ако су већ избегнути обрнутом косом цртом, не сматра се избегавањем и и обрнута коса црта и следећи специјални знакови се поново избегавају.

На пример:

JSONPath LLD macro value After substitution
$.[?(@.value == "{#MACRO}")] special "value" $.[?(@.value == "special \"value\"")]
c:\temp $.[?(@.value == "c:\\temp")]
a\\b $.[?(@.value == "a\\\\b")]

Када се користи у изразу, макро који може да садржи посебне знакове треба да буде окружен двоструким наводницима:

JSONPath LLD macro value After substitution Result
$.[?(@.value == "{#MACRO}")] special "value" $.[?(@.value == "special \"value\"")] OK
$.[?(@.value == {#MACRO})] $.[?(@.value == special \"value\")] Bad JSONPath expression

Када се користи у путањи, макро који може да садржи посебне знакове треба да буде затворен у угласте заграде и двоструке наводнике:

JSONPath LLD macro value After substitution Result
$.["{#MACRO}"].value c:\temp $.["c:\\temp"].value OK
$.{#MACRO}.value $.c:\\temp.value Bad JSONPath expression