diff --git a/src/app/tools/json_formatter/page.tsx b/src/app/tools/json_formatter/page.tsx index b2777d0..eb4f0f7 100644 --- a/src/app/tools/json_formatter/page.tsx +++ b/src/app/tools/json_formatter/page.tsx @@ -5,7 +5,7 @@ import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'; import { faCode, faCopy, faCheck, faCompress, faExpand, faSearch, faTrash, faSync, faFolderOpen, faFolder, faSpinner, - faSave, faHistory, faTimes, faEdit, faStar, faTrashAlt + faSave, faHistory, faTimes, faEdit, faStar, faTrashAlt, faEraser } from '@fortawesome/free-solid-svg-icons'; import dynamic from 'next/dynamic'; import BackToTop from '@/components/BackToTop'; @@ -184,6 +184,33 @@ export default function JsonFormatter() { setIsFoldable(!isFoldable); }; + // 移除JSON中的转义斜杠 + const removeSlashes = () => { + if (!jsonInput) return; + + try { + // 直接在原始输入字符串上移除转义斜杠 + const processed = jsonInput.replace(/\\\//g, '/'); + + // 检查是否有变化 + if (processed === jsonInput) { + console.log('没有检测到需要替换的内容,JSON未改变'); + return; + } + + console.log('移除斜杠前:', jsonInput); + console.log('移除斜杠后:', processed); + + // 更新输入框而不是直接格式化 + setJsonInput(processed); + + // 手动触发格式化 + setTimeout(() => formatJson(processed, isCompressed), 100); + } catch (error) { + console.error('移除斜杠处理失败:', error); + } + }; + // 复制结果到剪贴板 const copyToClipboard = () => { if (jsonOutput) { @@ -757,6 +784,16 @@ export default function JsonFormatter() { {t('tools.json_formatter.history')} + {/* 移除斜杠按钮 */} + + {isLoading && (