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 |