[comment]: # translation:outdated

[comment]: # ({2a528a18-c19f94bc})
# 1 Escapen van speciale tekens in LLD-macrowaarden in JSONPath

Bij het gebruik van macro's voor low-level discovery (LLD) in JSONPath-voorverwerking en wanneer hun waarden worden opgelost, worden de volgende regels voor het escapen van speciale tekens toegepast:

- Alleen de backslash (\\) en dubbele aanhalingstekens (") worden beschouwd voor escaping;
- Als de opgeloste macrowaarde deze tekens bevat, worden ze elk met een backslash geëscaped;
- Als ze al met een backslash zijn geëscaped, wordt dit niet beschouwd als escaping en worden zowel de backslash als de daaropvolgende speciale tekens opnieuw eenmaal geëscaped.

Bijvoorbeeld:

|JSONPath|LLD-macro-waarde|Na substitutie|
|--------|---------------|------------------|
|$.\[?(@.value == "{\#MACRO}")\]|speciale "waarde"|$.\[?(@.value == "speciale \\"waarde\\"")\]|
|^|c:\\temp|$.\[?(@.value == "c:\\\\temp")\]|
|^|a\\\\b|$.\[?(@.value == "a\\\\\\\\b")\]|

Bij gebruik in de expressie moet de macro die speciale tekens kan bevatten tussen dubbele aanhalingstekens worden geplaatst:

|JSONPath|LLD-macro-waarde|Na substitutie|Resultaat|
|--------|--------|--------|--------|
|$.\[?(@.value == "{\#MACRO}")\]|speciale "waarde"|$.\[?(@.value == "speciale \\"waarde\\"")\]|OK|
|$.\[?(@.value == {\#MACRO})\]|^|$.\[?(@.value == speciale \\"waarde\\")\]|**Foute JSONPath-uitdrukking**|

Bij gebruik in het pad moet de macro die speciale tekens kan bevatten tussen vierkante haken **en** dubbele aanhalingstekens worden geplaatst:

|JSONPath|LLD-macro-waarde|Na substitutie|Resultaat|
|--------|--------|--------|--------|
|$.\["{\#MACRO}"\].value|c:\\temp|$.\["c:\\\\temp"\].value|OK|
|$.{\#MACRO}.value|^|$.c:\\\\temp.value|**Foute JSONPath-uitdrukking**|

[comment]: # ({/2a528a18-c19f94bc})
