1 Speciālo rakstzīmju atsoļošana no LLD makro vērtībām JSONPath

Kad JSONPath priekšapstrādē tiek izmantoti zema līmeņa atklāšanas makro un to vērtības tiek aizstātas, tiek piemēroti šādi speciālo rakstzīmju atsoļošanas noteikumi:

  • atsoļošanai tiek ņemtas vērā tikai atpakaļējā slīpsvītra (\) un dubultpēdiņa (") rakstzīmes;
  • ja aizstātā makro vērtība satur šīs rakstzīmes, katra no tām tiek atsoļota ar atpakaļējo slīpsvītru;
  • ja tās jau ir atsoļotas ar atpakaļējo slīpsvītru, tas netiek uzskatīts par atsoļošanu, un gan atpakaļējā slīpsvītra, gan tai sekojošā speciālā rakstzīme tiek atsoļota 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ē, makro, kurā var būt speciālās rakstzīmes, jāieliek 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ļā, makro, kurā var būt speciālās rakstzīmes, jāieliek 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