From 0c4240e02ea372c45fe7ff20c231009c4211bcba Mon Sep 17 00:00:00 2001 From: Danto Date: Wed, 11 Jun 2025 13:23:42 +0900 Subject: [PATCH] =?UTF-8?q?json=20=EC=A0=95=EC=83=81=EC=B2=98=EB=A6=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/ide/IDE.jsx | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/src/components/ide/IDE.jsx b/src/components/ide/IDE.jsx index afd9801..78a9a8c 100644 --- a/src/components/ide/IDE.jsx +++ b/src/components/ide/IDE.jsx @@ -898,11 +898,17 @@ const handleVisualizationClick = async () => { // ๐Ÿ”ฅ ํ•ต์‹ฌ ๋ณ€๊ฒฝ: AST ๋ถ€๋ถ„๋งŒ ์ถ”์ถœ (API์—์„œ ์˜จ ๋”ฐ์˜ดํ‘œ ์ œ๊ฑฐ) let visualizationData = apiResponse.ast || "AST ๋ฐ์ดํ„ฐ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค."; - // API์—์„œ ์˜จ ์–‘ ๋ ๋”ฐ์˜ดํ‘œ ์ œ๊ฑฐ - if (typeof visualizationData === 'string' && visualizationData.startsWith('"') && visualizationData.endsWith('"')) { - visualizationData = visualizationData.slice(1, -1); + if (typeof visualizationData === 'string') { + // ์•ž๋ถ€๋ถ„ ์ œ๊ฑฐ + if (visualizationData.startsWith('```json\n')) { + visualizationData = visualizationData.slice(7); // "```json\n"๋Š” 7๊ธ€์ž + } + + // ๋’ท๋ถ€๋ถ„ ์ œ๊ฑฐ + if (visualizationData.endsWith('\n```')) { + visualizationData = visualizationData.slice(0, -4); // "\n```"๋Š” 4๊ธ€์ž + } } - console.log('๐Ÿ“Š AST ๋ฐ์ดํ„ฐ ์ถ”์ถœ (๋”ฐ์˜ดํ‘œ ์ œ๊ฑฐ ํ›„):', visualizationData); // ๋งค์นญ๋˜๋Š” JSON ํŒŒ์ผ๋ช… ์ƒ์„ฑ