From 58cb20d4b253471515886f3901f864080aa88212 Mon Sep 17 00:00:00 2001 From: Roman Hotsiy Date: Wed, 7 Aug 2019 12:02:25 +0300 Subject: [PATCH] fix: fix escaping JSON string values fixes #999 --- src/utils/jsonToHtml.ts | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/utils/jsonToHtml.ts b/src/utils/jsonToHtml.ts index bbdc638e55..59edc47c79 100644 --- a/src/utils/jsonToHtml.ts +++ b/src/utils/jsonToHtml.ts @@ -20,8 +20,8 @@ function htmlEncode(t) { : ''; } -function escapeForStringLiteral(str: string) { - return str.replace(/([\\"])/g, '\\$1'); +function stringifyStringLiteral(str: string) { + return JSON.stringify(str).slice(1, -1); } function decorateWithSpan(value, className) { @@ -56,11 +56,11 @@ function valueToHTML(value, maxExpandLevel: number) { '' + - htmlEncode(escapeForStringLiteral(value)) + + htmlEncode(stringifyStringLiteral(value)) + '' + decorateWithSpan('"', 'token string'); } else { - output += decorateWithSpan('"' + escapeForStringLiteral(value) + '"', 'token string'); + output += decorateWithSpan('"' + stringifyStringLiteral(value) + '"', 'token string'); } } else if (valueType === 'boolean') { output += decorateWithSpan(value, 'token boolean');