🛠️ fixJson.js:告別手動除錯的繁瑣

引言:不再為 JSON 解析失敗而煩惱

當你遇到格式錯誤的 JSON 導致解析失敗時,不需要再辛苦地開啟 IDE 或其他工具進行偵錯。fixJson.js (fix-json-format) 的誕生,正是為了解決這個痛點!它不僅能自動修復各種常見的 JSON 格式錯誤,更提供了強大的偵錯提示功能,能夠在修復失敗或遇到語法錯誤時,精準指出錯誤發生的行號與位置,幫助你快速定位問題!

本專案支援多種執行環境,無論是 Node.js (CommonJS / ESM)、TypeScript 還是命令列工具 (CLI),都能輕鬆整合進你的工作流程中。


🌟 核心功能:強大的修復與偵錯能力

  • ✨ 自動修復常見錯誤
    • 自動修正缺少引號的 key/value。
    • 修正缺少逗號或多餘逗號的問題。
    • 修正不平衡的括號。
    • 修復空值欄位,並支援 null/true/false 布林值與數字欄位。
  • 💡 智能偵錯提示:修復失敗時,精準顯示錯誤發生的行號與位置,拒絕無意義的解析報錯。
  • 🌐 廣泛格式支援:支援時間格式 (ISO/一般格式)、IP 格式 (::ffff:x.x.x.x) 以及多行 JSON 的處理。
  • ⚡ 性能優化:透過減少重複的正則替換次數,提升大量資料修復時的執行效能。
  • 🚀 多環境相容:提供完整的 TypeScript 類型定義,支援 ESM 與 CommonJS 模組系統,並內建 CLI 工具。

📦 快速開始:安裝與使用

安裝套件

使用 npm 輕鬆安裝至你的專案中:

npm install fix-json-format

各環境使用範例

1. CLI 命令列工具

# 從檔案讀取
fix-json-format input.json

# 從標準輸入讀取
cat input.json | fix-json-format

# 輸出到檔案
fix-json-format input.json -o output.json

# 顯示說明
fix-json-format --help

2. Node.js (ESM / TypeScript)

import { fix_json } from "fix-json-format";

// 回傳物件格式 (預設) - 包含錯誤資訊
const { result, error } = fix_json(str);

if (error) {
  console.error(error);
  // 輸出: JSON Syntax Error at line 1, column 10: ...
}

// 向後相容 - 直接回傳字串
const strResult = fix_json(str, { returnObject: false });

3. Node.js (CommonJS)

const { fix_json } = require("fix-json-format");

🧪 測試與穩定性

專案持續維護完善的測試案例,確保自動修復邏輯的可靠性:

# 執行 Jest 單元測試
npm test

# 執行原有測試
npm run test:legacy

結語:提升開發效率的必備小幫手

在處理第三方 API 回傳的不標準資料,或是清理爬蟲抓取下來的殘缺 JSON 時,fixJson.js 能大幅減少手動介入的時間成本,讓程式碼的容錯率變得更高。

歡迎造訪 chiisen/fixJson.js 探索更多源碼細節、回報 Issue,或者給我們一顆星星 ⭐!


NPM Version TypeScript Node.js GitHub