XML 轉 JSON 轉換工具
將結構完整、格式正確的 XML 轉換為可讀的 JSON,並保留屬性、文字內容、名稱空間以及重複元素。
隱私權:你的檔案不會離開裝置,所有處理均在瀏覽器本機完成。
使用方式
- 1.貼上一個格式正確的 XML 文件,並移除任何 DOCTYPE 宣告。
- 2.選擇緊湊、兩空格或四空格的 JSON 縮排。
- 3.選擇轉換到 JSON, 檢視明顯的 @attributes/#text convention,並複製結果.。
關於XML 轉 JSON 轉換工具
XML 至 JSON 轉換器可將一個格式正確的 XML 文件轉換為瀏覽器內可預測的 JSON 表示形式。貼上最多 200,000 字元,選擇緊縮、兩空格或四空格縮排,並進行轉換。轉換結果可在不將原始資料傳送至伺服器的情況下進行檢視與複製。
根元素成為最高階的JSON鍵. 元素屬性被組成在 @attributes下. 單純文字元素成為字串;文字在 #text下儲存,當元素也有屬性或子元素. 重複的兄弟姓名成為文件序列,而單個子仍然是單個值. 名字空間前在元素和屬性名稱中儲存.。
瀏覽器原生的 XML DOMParser 會負責語法解析。若出現解析錯誤,會明顯拒絕並不會返回部分結果。DOCTYPE 宣告會被刻意擋下,本工具不會取得模式、DTD、外部實體、名稱空間、樣式表或遠端資源。註解與處理指令不會被複製進 JSON,但 CDATA 的內容會作為文字內容保留。
XML 與 JSON 並無通用的對應關係。本工具採用明確的慣例,而非聲稱符合官方轉換標準。混合內容的檔案會保留直接文字與子元素的組合,但無法精確反映文字與子節點之間的交錯關係。空元素會轉為空字串,除非該元素帶有屬性。
此轉換工具適用於 API 樣本、設定檢查、測試用例以及小型資料遷移情境,當接收系統能接受此物件結構時特別有用。請務必比對應用程式所需的輸出合約:其他庫可能使用不同的字首、一律為陣列的子元素、保留註解、將數值與布林值轉換、或將名稱空間獨立處理。
不會自動將值轉換為數字、布林值或 null,因為像前導零識別碼這樣的詞法 XML 文字不應靜默地改變其意義。對於非常大的檔案,若需進行串流轉換、結構驗證、無損混合內容保留或生產 ETL,請使用受版本控制應用程式中的專用解析器。
方法與來源
繫結源長度,拒絕DOCTYPE宣言,用瀏覽器DOMParser解析,在 parsererror上失敗,將根名對映到最高階鍵,在 @attributes下組列屬性,儲存名稱空間前列和兄弟順序,將重複的兒童名稱折成配列,在 #text中保留直接文字,。
常見問題
- 屬性是如何表示的?
- 屬性會被歸類為其元素對應的 @attributes 物件。
- 重複元素會如何處理?
- 相同名稱的兄弟元素會轉為一個 JSON 陣列,順序依照原始檔案出現的順序。
- 會推論數值與布林值嗎?
- 不會。XML 的文字內容始終保持為文字,因此識別碼與語意值不會被靜默改變。
- 會載入外部實體或 DTD 嗎?
- 不會。DOCTYPE 會被拒絕,且此轉換工具不會進行任何網路請求。
相關工具
- XML 格式化工具在瀏覽器中立即美化或壓縮 XML —— 不會上傳任何內容。
- JSON 格式化工具在瀏覽器中格式化、壓縮並驗證 JSON —— 可以美化顯示或壓縮為單行,並精確標示錯誤位置。
- JSON 驗證工具確認 JSON 是否有效,並以行與列為單位精確指出語法錯誤,同時提供結構診斷,全程在瀏覽器中執行。
- CSV 到 JSON解析一個受限的 RFC 4180 格式逗號分隔檔案,並在本機執行,輸出保留引號、逗號、引號和行結束符的 JSON,不損失任何內容。
- ANSI 色彩碼產生器建立並複製原始 SGR 逸出序列,並搜尋標準 8 色加亮 8 色的終端機色碼。
- ASCII 表格查詢所有標準 7 位 ASCII 編碼的精確十進位、十六進位、八進位與二進位值。
開發者工具 使用指南
查看全部- Convert .properties Files to JSON Online (英文原文)
- Random MAC Address On or Off: A Developer Guide (英文原文)
- Generate a JWT for Testing: HS256 Tokens in Your Browser (英文原文)
- How to Decode JWT Tokens in Angular Apps (英文原文)
- JSON Schema to Zod: Inference Limits and a Safer Path (英文原文)
- Rust: Convert a Struct to a JSON String With serde (英文原文)
- How to Convert JSON to Excel in Python (英文原文)
- JSON to CSV Alternative With Built-In Formula Protection (英文原文)
- Format a JSON File in VS Code and in Your Browser (英文原文)
- Local JavaScript Playground Alternative for Safe Testing (英文原文)
- How to Convert IPv4 to a 32-Bit Integer for Storage (英文原文)
- Convert Decimal Numbers to IEEE 754 Floating Point Format (英文原文)
- HTTP Status Codes Alternative: A Registry-First Lookup (英文原文)
- How to Edit HTML in a Browser Using a Sandboxed Preview (英文原文)
- Format HTML Code from Notepad++ Without Plugins (英文原文)
- Why Is Hello World Used in Programming: A Practical Guide (英文原文)
- How to Make Flexbox Items Fill the Container Height (英文原文)
- File Signatures List Alternative: Twelve Verified Prefixes (英文原文)
- How to Open Excel Files Online in a Browser Preview (英文原文)
- How to Convert Excel to JSON File for ITR Filing (英文原文)