Īpašo rakstzīmju atsoļošana no LLD makro vērtībām JSONPath

Ja zemlīmeņa atklāšanas makro tiek izmantoti JSONPath pirmapstrādē un to vērtības tiek atrisinātas, tiek piemēroti šādi īpašo rakstzīmju atsoļošanas noteikumi:

  • tikai atpakaļslīpsvītra (\) un dubultpēdiņas (") rakstzīmes tiek ņemtas vērā atsoļošanai;
  • ja atrisinātajā makro vērtībā ir šīs rakstzīmes, katra no tām tiek atsoļota ar atpakaļslīpsvītru;
  • ja tās jau ir atsoļotas ar atpakaļslīpsvītru, tas netiek uzskatīts par atsoļošanu, un gan atpakaļslīpsvītra, gan tai sekojošās īpašās rakstzīmes tiek atsoļotas vēlreiz.

Piemēram:

JSONPath LLD makro vērtība Pēc aizstāšanas
$.[?(@.value == "{#MACRO}")] special "value" $.[?(@.value == "special \"value\"")]
c:\temp $.[?(@.value == "c:\\temp")]
a\\b $.[?(@.value == "a\\\\b")]

Ja makro tiek izmantots izteiksmē, tam var būt īpašas rakstzīmes, un tas jāievieto dubultpēdiņās:

JSONPath LLD makro vērtība Pēc aizstāšanas Rezultāts
$.[?(@.value == "{#MACRO}")] special "value" $.[?(@.value == "special \"value\"")] OK
$.[?(@.value == {#MACRO})] $.[?(@.value == special \"value\")] Nederīga JSONPath izteiksme

Ja makro tiek izmantots ceļā, tam var būt īpašas rakstzīmes, un tas jāievieto kvadrātiekavās un dubultpēdiņās:

JSONPath LLD makro vērtība Pēc aizstāšanas Rezultāts
$.["{#MACRO}"].value c:\temp $.["c:\\temp"].value OK
$.{#MACRO}.value $.c:\\temp.value Nederīga JSONPath izteiksme