JSONL 轉 JSON 轉換器

即時將 JSONL(JSON Lines)轉換為 JSON 陣列。100% 在用戶端處理,您的資料永遠不會離開瀏覽器。

輸入 JSONL

將 .jsonl 檔案拖放到這裡,或點擊瀏覽

支援 .jsonl、.ndjson、.json、.txt

作者: Jerry Fan更新於 2026年2月

如何將 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 array
jq -s '.' records.jsonl > records.json
# Python: same result with the standard library
python3 - <<'PY'
import json
with 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 可能更為適合。

相關工具與指南