From 54291e10d0d7f69f6b43c3281b2a3d403dd4db25 Mon Sep 17 00:00:00 2001 From: ochafik Date: Sun, 10 Mar 2024 17:19:27 +0000 Subject: [PATCH] json: fix literal escapes --- examples/json-schema-to-grammar.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/examples/json-schema-to-grammar.py b/examples/json-schema-to-grammar.py index 33ab3ad9b..0559bd3d2 100755 --- a/examples/json-schema-to-grammar.py +++ b/examples/json-schema-to-grammar.py @@ -25,8 +25,8 @@ PRIMITIVE_RULES = { } INVALID_RULE_CHARS_RE = re.compile(r'[^a-zA-Z0-9-]+') -GRAMMAR_LITERAL_ESCAPE_RE = re.compile(r'[\r\n]') -GRAMMAR_LITERAL_ESCAPES = {'\r': '\\r', '\n': '\\n'} +GRAMMAR_LITERAL_ESCAPE_RE = re.compile(r'[\r\n"]') +GRAMMAR_LITERAL_ESCAPES = {'\r': '\\r', '\n': '\\n', '"': '\\"'} class SchemaConverter: @@ -38,7 +38,7 @@ class SchemaConverter: def _format_literal(self, literal): escaped = GRAMMAR_LITERAL_ESCAPE_RE.sub( - lambda m: GRAMMAR_LITERAL_ESCAPES.get(m.group(0)), json.dumps(literal)[1:-1] + lambda m: GRAMMAR_LITERAL_ESCAPES.get(m.group(0)), json.dumps(literal) ) return f'"{escaped}"'