[comment]: # ({2a528a18-c19f94bc})
# 1 Escaping von Sonderzeichen aus LLD-Makrowerten in JSONPath

Wenn Low-Level-Discovery-Makros in der JSONPath-Vorverarbeitung verwendet werden und
ihre Werte aufgelöst werden, gelten die folgenden Regeln für das Escaping von Sonderzeichen:

-   nur Backslash-Zeichen (\\) und doppelte Anführungszeichen (") werden
    beim Escaping berücksichtigt;
-   wenn der aufgelöste Makrowert diese Zeichen enthält, wird jedes von ihnen
    mit einem Backslash escaped;
-   wenn sie bereits mit einem Backslash escaped sind, wird dies nicht als
    Escaping betrachtet und sowohl der Backslash als auch die folgenden Sonderzeichen
    werden erneut escaped.

Zum Beispiel:

|JSONPath|LLD-Makrowert|Nach der Ersetzung|
|--------|---------------|------------------|
|$.\[?(@.value == "{\#MACRO}")\]|special "value"|$.\[?(@.value == "special \\"value\\"")\]|
|^|c:\\temp|$.\[?(@.value == "c:\\\\temp")\]|
|^|a\\\\b|$.\[?(@.value == "a\\\\\\\\b")\]|

Bei Verwendung im Ausdruck sollte das Makro, das Sonderzeichen enthalten kann,
in doppelte Anführungszeichen eingeschlossen werden:

|JSONPath|LLD-Makrowert|Nach der Ersetzung|Ergebnis|
|--------|--------|--------|--------|
|$.\[?(@.value == "{\#MACRO}")\]|special "value"|$.\[?(@.value == "special \\"value\\"")\]|OK|
|$.\[?(@.value == {\#MACRO})\]|^|$.\[?(@.value == special \\"value\\")\]|**Ungültiger JSONPath-Ausdruck**|

Bei Verwendung im Pfad sollte das Makro, das Sonderzeichen enthalten kann,
in eckige Klammern **und** doppelte Anführungszeichen eingeschlossen werden:

|JSONPath|LLD-Makrowert|Nach der Ersetzung|Ergebnis|
|--------|--------|--------|--------|
|$.\["{\#MACRO}"\].value|c:\\temp|$.\["c:\\\\temp"\].value|OK|
|$.{\#MACRO}.value|^|$.c:\\\\temp.value|**Ungültiger JSONPath-Ausdruck**|

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