JSON 扁平化轉 JSONL
擷取並扁平化巢狀 JSON 物件和陣列為 JSONL(JSON Lines)格式。每筆記錄成為獨立的一行。100% 在用戶端處理。
輸入 JSON
將 .json 檔案拖放到這裡,或點擊瀏覽
支援 .json、.txt
輸入 JSON
將 .json 檔案拖放到這裡,或點擊瀏覽
支援 .json、.txt
輸出 JSONL
貼上或拖放巢狀 JSON 以扁平化為 JSONL
如何將 JSON 扁平化為 JSONL
將 JSON 扁平化為 JSONL 會從巢狀結構中擷取記錄,並將每筆記錄轉換為獨立的 JSONL 行。如果您的 JSON 包含物件陣列,每個陣列元素會成為一行。巢狀物件鍵值會扁平化為點號表示法。
我們的工具完全在您的瀏覽器中運作。不會將任何資料傳送到任何伺服器。貼上您的巢狀 JSON 或拖放檔案,扁平化的 JSONL 輸出會立即出現。父層級欄位會自動合併到每筆記錄中。
輸出為有效的 JSONL,每行一個緊湊的 JSON 物件。您可以將結果複製到剪貼簿,或下載為 .jsonl 檔案,準備用於機器學習、資料管線或資料庫匯入。
什麼是 JSON 扁平化?
JSON 扁平化是將深度巢狀的 JSON 結構轉換為扁平的逐行格式的過程。巢狀物件鍵值會轉換為點號表示法(例如 address.city),物件陣列會展開,使每個元素成為 JSONL 格式中的獨立記錄。
當您有來自 API 回應或資料庫匯出的複雜巢狀結構,需要將它們轉換為扁平的表格格式以用於機器學習訓練、CSV 轉換,或期望每行一筆記錄的串流資料管線時,這特別有用。
常見使用情境
API 回應處理
將巢狀 API 回應扁平化為 JSONL,以便在資料管線中更輕鬆地解析、記錄和下游處理。
ETL 資料轉換
從複雜的 JSON 匯出中擷取記錄,並將它們扁平化為 JSONL,以載入到資料庫或資料倉儲。
機器學習資料集準備
將巢狀 JSON 資料集轉換為 OpenAI、Hugging Face 和其他機器學習訓練平台所需的扁平 JSONL 記錄。
日誌與分析處理
將帶有巢狀中繼資料的結構化日誌檔案扁平化為 JSONL,以使用 grep、jq 或 Elasticsearch 等工具進行分析。
測試資料生成
將複雜的 JSON API 模擬回應扁平化為個別的 JSONL 記錄,作為自動化測試套件中的測試資料使用。
資料庫遷移
將 MongoDB 或 CouchDB 匯出的巢狀文件式 JSON 扁平化為扁平的 JSONL 記錄,以匯入 PostgreSQL 等關聯式資料庫。
常見錯誤與解決方案
找不到要扁平化的記錄
當輸入的 JSON 是基本值(字串、數字)或空物件/陣列時會出現此錯誤。工具需要物件或物件陣列來擷取記錄。請確保您的 JSON 至少包含一個具有鍵值對的物件。
點號表示法鍵值衝突
如果您的 JSON 在頂層有像 "user.name" 這樣的鍵值,同時又有巢狀的 {"user":{"name":"value"}'},兩者會扁平化為相同的點號表示法鍵值。巢狀值會覆蓋頂層值。請在扁平化前重新命名衝突的鍵值。
JSON 中的循環參考
雖然標準 JSON 不能包含循環參考,但某些 JSON 生成器可能會產生非常深度巢狀的結構。工具可以處理合理深度的巢狀,但如果結構超出安全限制,將停止扁平化。
常見問題
這個 JSON 扁平化工具有什麼功能?
巢狀物件鍵值會轉換為點號表示法。例如,{"user":{"address":{"city":"NYC"}'}'} 會變成 {"user.address.city":"NYC"}。這使得深度巢狀的資料可以作為扁平的鍵值對存取。
可以將深度巢狀的 JSON 扁平化為 JSONL 嗎?
如果 JSON 包含物件陣列,每個物件會成為獨立的 JSONL 行。基本類型陣列(字串、數字)會在扁平化輸出中序列化為 JSON 字串。工具會自動偵測要展開的主陣列。
這個工具會上傳我的 JSON 檔案嗎?
是的。所有扁平化都在您的瀏覽器本機進行。不會將任何資料傳送到任何伺服器。您的 JSON 內容永遠不會離開您的裝置。
如何選擇要扁平化的陣列?
可以。工具可以處理任何層級的巢狀。頂層純量欄位會合併到每筆記錄中,巢狀物件使用點號表示法,最大的物件陣列會展開為獨立的 JSONL 行。
純量(非物件)陣列項目會怎樣?
null 值會在扁平化輸出中保留為 null。JSON 沒有 undefined 類型,因此您不會遇到 undefined 值。空物件扁平化後不會產生任何鍵值,空陣列則序列化為空的 JSON 陣列。
如何將結果轉回 JSON?
目前工具一次處理一個 JSON 輸入。如需扁平化多個檔案,請逐一處理。對於批次操作,可以考慮搭配使用 jq 等命令列工具,再用本工具進行視覺化驗證。
可以扁平化包含混合陣列和物件的 JSON 嗎?
工具支援真實世界 JSON 資料中常見的巢狀深度(通常超過 20 層)。沒有硬性的深度限制,但極深的巢狀可能會在輸出中產生非常長的點號表示法鍵值。
這個工具可以處理的最大檔案是多大?
JSON 轉 JSONL 僅將頂層陣列的每個元素放在單獨的一行上。JSON 扁平化轉 JSONL 則更進一步,會展開巢狀結構、將巢狀鍵值轉換為點號表示法,並將父層級欄位合併到每筆記錄中。當您需要從深度巢狀的 JSON 中擷取記錄時,請使用扁平化功能。