JSONL 轉 JSON 轉換器
即時將 JSONL(JSON Lines)轉換為 JSON 陣列。100% 在用戶端處理,您的資料永遠不會離開瀏覽器。
輸入 JSONL
將 .jsonl 檔案拖放到這裡,或點擊瀏覽
支援 .jsonl、.ndjson、.json、.txt
輸入 JSONL
將 .jsonl 檔案拖放到這裡,或點擊瀏覽
支援 .jsonl、.ndjson、.json、.txt
輸出 JSON
貼上或拖放 JSONL 內容以進行轉換
如何將 JSONL 轉換為 JSON
JSONL(JSON Lines)每行儲存一個 JSON 物件。要將其轉換為標準 JSON,每行會被單獨解析,然後結果會合併成一個 JSON 陣列。
我們的轉換器完全在瀏覽器中讀取您的 JSONL 檔案。不會將任何資料上傳到任何伺服器。只需貼上您的 JSONL 文字或拖放檔案,轉換後的 JSON 陣列就會即時出現。
輸出的 JSON 陣列保留原始行的順序。無效的行會被跳過並單獨報告,以便您修正。
什麼是 JSONL 轉 JSON 轉換?
JSONL 轉 JSON 轉換將換行符分隔的格式(每行一個 JSON 物件)轉換為標準 JSON 陣列。當您需要在只接受標準 JSON 的工具(如 API、視覺化工具或資料庫匯入工具)中使用 JSONL 資料時,這很有用。
例如,包含三個物件的 JSONL 檔案會變成一個包含這三個物件的 JSON 陣列,並使用適當的縮排格式以提高可讀性。
選擇輸出格式
把 JSONL 轉成 JSON 其實不是一種操作,而是三種,取決於下游使用方期望的格式。與 JSONL 的關鍵差異在於:JSON 陣列必須整體解析,所以讀取輸出的程式必須把整個檔案載入記憶體 — 一旦轉換,JSONL 的串流優勢就消失了。
| 輸出格式 | 適用場景 | 注意事項 |
|---|---|---|
| 緊湊陣列 — [{...},{...}] | 期望標準 JSON 陣列作為請求主體的 API 與服務 | 整個檔案是一長行;肉眼檢視或在 git 中 diff 都很困難 |
| 美化排版的陣列 | 設定類檔案、程式碼審查、人工檢視 | 對於典型記錄,比緊湊輸出大約多 20–40% |
| 包裝物件 — {"data": [...]} | 要求最外層是物件包裝的使用方 | 此工具不直接產生這種格式 — 轉換後自行把陣列包進物件 |
常見使用情境
API 整合
將 JSONL 日誌檔案或資料匯出轉換為 JSON 陣列,供 REST API 使用。
資料分析
將 JSONL 資料集轉換為 JSON,以便與視覺化函式庫和分析工具搭配使用。
資料庫匯入
將 JSONL 匯出轉換為 JSON 陣列,以匯入 MongoDB、PostgreSQL 或其他資料庫。
機器學習資料準備
在 JSONL 和 JSON 格式之間轉換機器學習資料集,以適用於不同的訓練框架。
自動化測試與品質保證
將 JSONL 測試資料轉換為 JSON 陣列,供 Jest、Mocha 或 Playwright 等需要 JSON 輸入的整合測試框架使用。
前端開發
將 JSONL 資料匯出轉換為 JSON 陣列,在開發期間作為 React、Vue 或 Angular 應用程式的模擬資料使用。
在命令列做同樣的轉換
對於已在伺服器上的檔案,或在指令碼裡處理時,jq 用一個旗標就能完成這個轉換:slurp 模式會讀取每一行並收集成一個陣列。Python 版本只要三行,且不需要任何相依套件。
# jq: slurp all JSONL lines into a single JSON arrayjq -s '.' records.jsonl > records.json# Python: same result with the standard librarypython3 - <<'PY'import jsonwith open('records.jsonl') as f:rows = [json.loads(line) for line in f if line.strip()]with open('records.json', 'w') as out:json.dump(rows, out, indent=2)PY
兩個版本都會把整份資料集載入記憶體 — 幾 MB 沒問題,幾 GB 就很痛苦。如果目標系統本來就接受 JSONL,對大型資料而言,保留逐行分隔的形式通常是更好的工程選擇。
常見錯誤與解決方案
最後一行的尾隨逗號
JSONL 檔案中每個 JSON 物件的最後一個屬性後面不應有尾隨逗號。與 JavaScript 不同,JSON 嚴格禁止尾隨逗號。請移除每行最後一個鍵值對之後的逗號。
空行導致解析失敗
JSONL 記錄之間的空白行可能導致解析器報告錯誤。我們的轉換器會自動跳過空行,但其他工具可能不會。請確保您的 JSONL 檔案在記錄之間沒有多餘的空白行。
混合編碼(UTF-8 BOM)
使用 UTF-8 BOM(位元組順序標記)儲存的檔案可能導致第一行解析失敗。如果您的第一行失敗但其餘行成功,請使用文字編輯器將檔案重新儲存為不含 BOM 的 UTF-8 編碼。
常見問題
JSONL 轉 JSON 轉換器有什麼功能?
是的。所有轉換都在您的瀏覽器本機進行。不會將任何資料傳送到任何伺服器。您的 JSONL 內容永遠不會離開您的裝置。
可以用這個 JSONL 轉 JSON 轉換器將 NDJSON 轉換為 JSON 嗎?
無效的行在轉換過程中會被跳過,並連同錯誤詳情單獨列出。有效的行仍會正常轉換。
這個 JSONL 轉 JSON 轉換器會上傳我的檔案嗎?
沒有硬性限制。轉換器使用串流處理來高效處理大型檔案。數百 MB 的檔案都可以順暢轉換。
JSONL 轉 JSON 會保留原始行順序嗎?
可以!使用我們的 JSON 轉 JSONL 轉換器,可以將 JSON 陣列轉回 JSONL 格式。
為什麼 JSONL 轉 JSON 在第一行失敗(UTF-8 BOM)?
轉換器以串流方式處理每一行,不會一次將整個檔案載入記憶體。數百萬行的檔案都可以轉換,不過非常大的檔案(500MB 以上)可能需要幾秒鐘,具體取決於您裝置的效能。
如何將 JSON 轉回 JSONL?
會的。轉換器在建構 JSON 陣列時會保留每行 JSONL 的原始鍵值順序。轉換過程中不會重新排序、新增或移除任何鍵值。
可以用這個工具轉換 NDJSON 檔案嗎?
可以。NDJSON(Newline Delimited JSON)和 JSONL 是相同的格式。您可以上傳 .ndjson、.jsonl、.json 或 .txt 檔案,它們都會被正確處理。
與使用 jq 等命令列工具相比如何?
我們的轉換器提供視覺化介面,支援即時預覽、錯誤高亮和一鍵下載。與 jq 不同,無需安裝,只要有瀏覽器的裝置都可以使用。對於腳本化工作流程,jq 可能更為適合。