diff --git a/apps/wing-console/console/design-system/src/text-highlight.tsx b/apps/wing-console/console/design-system/src/text-highlight.tsx
index 9e3fee60934..78f3d5cffa5 100644
--- a/apps/wing-console/console/design-system/src/text-highlight.tsx
+++ b/apps/wing-console/console/design-system/src/text-highlight.tsx
@@ -25,17 +25,22 @@ const highlightJson = (value: string, theme: Theme) => {
return `${value
.slice(0, CHAR_LIMIT)
.replaceAll(
- /("(\\u[\dA-Za-z]{4}|\\[^u]|[^"\\])*"(\s*:)?|\b(true|false|null)\b|-?\d+(?:\.\d*)?(?:[Ee][+\-]?\d+)?)/g,
+ /{(?:[^"\\{}]|"(?:\\.|[^"\\])*"|{(?:[^"\\{}]|"(?:\\.|[^"\\])*")*})*}/g,
(match) => {
- let className = palette.number;
- if (match.startsWith('"')) {
- className = match.endsWith(":") ? theme.text1 : palette.string;
- } else if (/true|false/.test(match)) {
- className = palette.boolean;
- } else if (/null/.test(match)) {
- className = palette.null;
- }
- return `${escape(match)}`;
+ return `${match.replaceAll(
+ /("(\\u[\dA-Za-z]{4}|\\[^u]|[^"\\])*"(\s*:)?|\b(true|false|null)\b|-?\d+(?:\.\d*)?(?:[Ee][+\-]?\d+)?)/g,
+ (match) => {
+ let className = palette.number;
+ if (match.startsWith('"')) {
+ className = match.endsWith(":") ? theme.text1 : palette.string;
+ } else if (/true|false/.test(match)) {
+ className = palette.boolean;
+ } else if (/null/.test(match)) {
+ className = palette.null;
+ }
+ return `${escape(match)}`;
+ },
+ )}`;
},
)}${value.slice(CHAR_LIMIT)}`;
};