實用工具
輸入
結果
結果會顯示在這裡。要求模型輸出 JSON,遲早會拿到 JSON.parse 不肯接受的東西:沒加引號的鍵、結尾多一個逗號、一行 // 註解、用 None 代替 null,或是 Token 用完而在物件中間被截斷的回答——而且外面常常還包著一句客氣話和一個程式碼圍欄。這個工具會在你貼上的任何內容中找出 JSON,並用 jsonrepair(josdejong/jsonrepair,ISC)修復它;許多 JSON 編輯器和代理框架背後用的都是這個函式庫。修好後會輸出合法、已縮排、可以立刻使用的 JSON。
它是怎麼運作的
- 它會先定位 JSON:如果有 ```json 程式碼區塊就取其內容,否則從第一個 { 或 [ 開始取;如果最後一個括號之後的說明文字讓修復失敗,就把那段切掉再修一次。
- 接著 jsonrepair 會補上缺少的引號、把單引號改成雙引號、移除結尾逗號與註解、轉換 Python 的 None、True 和 False、跳脫字串中多出來的引號,並補上沒有關閉的括號。
- 本來就合法的輸入會被重新排版並註明已合法,所以你也可以把這個工具當成單純的格式化工具。
- 統計資料會顯示 JSON 是在哪裡找到的,以及它有多少節點、幾層巢狀;結果可以用 2 或 4 個空格縮排,也可以壓縮成一行。
你的資料去了哪裡
哪也沒去。本工具完全在你的瀏覽器裡執行:你貼上的文字由頁面處理,不會傳輸到任何伺服器,也不會寫進任何紀錄。
本工具免費且免登入,執行結果只存在於你目前的頁面裡,不會被儲存到任何地方。
它要花多少
本工具完全免費,不需要登入,也不消耗點數。
常見問題
- 被截斷的回應能救回來嗎?
- 它能讓內容可以被解析,但這不等於救回來。未關閉的字串和括號會被補上,值還沒寫出來就被截斷的鍵會得到 null。模型從沒寫出的內容依然缺著,所以請檢查最後幾項,或者更好的做法是提高 max_tokens 再問一次。
- 如果回答裡有好幾個 JSON 區塊怎麼辦?
- 只會修復第一個有圍欄的區塊,沒有的話就修復從第一個括號開始的文字。如果全部都需要,請一次貼一個;如果提示詞由你掌控,要求模型只輸出單一個頂層物件或陣列就能避免這個問題。
- 怎樣才能從源頭避免模型回傳壞掉的 JSON?
- 廠商有提供結構化輸出模式時就使用它——OpenAI 搭配 JSON schema 的 response_format、Gemini 的 responseSchema,或 Claude 的工具呼叫——這些會把生成內容限制為合法的 JSON。修復是給不提供這種模式的模型和閘道、以及手上已有的日誌用的備援方案。
背後的開源專案
本工具執行在 josdejong/jsonrepair 之上,以 ISC 授權發布。如果你需要在自己的程式裡實作同樣的能力,直接用這個函式庫。
josdejong/jsonrepair也常被稱作
- json 修復
- json 線上修正
- json 格式錯誤 修復
- llm json 修復
- jsonrepair
- invalid json fix