從 JSON 轉成 XML
將 JSON 轉成經轉義的、帶有標註的 XML,並提供可追溯的確定性對應規則、自訂根元素名稱,且不會上傳任何內容。
隱私權:你的檔案不會離開裝置,所有處理均在瀏覽器本機完成。
使用方式
- 1.貼上有效的 JSON,並輸入簡單的 XML 根元素名稱。
- 2.選擇清晰輸出或緊湊輸出,然後選擇轉換為 XML。
- 3.檢視 type 屬性與轉義的鍵名,複製 XML,並對照接收系統實際的對應規則或模式進行驗證。
關於從 JSON 轉成 XML
JSON 轉成 XML 會將有效的 JSON 轉為結構正確的 XML,使用可追溯的型別對應規則。貼上一個物件、陣列或基本值,選擇一個安全的根元素名稱,選擇清晰或緊湊輸出,並複製結果。所有處理皆在瀏覽器內完成,且限制於 500,000 字元與 64 巢狀層級。
JSON 與 XML 並無通用的一對一轉換標準。JSON 包含物件、陣列、字串、數值、布林值與 null。XML 則包含元素、屬性、文字、名稱空間與混合內容。本工具不掩蓋這種不匹配。相反地,每個產生的元素都會帶有 type 屬性,以便下游讀取者可區分 JSON 數值與包含相同數字的字串、陣列與物件,以及 null 與空字串。
簡單的 XML 名稱會成為元素名稱。接受的限定形式以 ASCII 字母或底線開頭,後續接字母、數字、底線、點或破折號。以任何大小寫形式開頭為 xml 的名稱為保留名稱,不會直接發出。不符合規則的名稱會成為項目元素,並將原始名稱儲存於轉義後的 key 屬性中。
陣列會成為標註 type=array 的父元素,每個成員會以原始順序作為項目子元素呈現。物件會標註 type=object,並保留 JavaScript 解析後的屬性順序。字串、數字與布林值會成為帶有對應 type 屬性的文字。null 會成為標註 type=null 的自閉合元素。空物件與空陣列會透過其 type 屬性區分。
對敏感的 XML 字元進行轉義。& 會變成 &,< 會變成 <,> 會變成 >,文字中出現的雙引號也會在屬性中額外轉義。轉換器會產生一個 UTF-8 XML 宣告。它從不將貼入的內容當作標記插入,因此包含標記的 JSON 字串會保持為文字內容,而不是變成可執行或結構性的 XML 元素。
預設的清晰模式使用兩空格縮排與換行以便檢視。緊湊模式會移除格式化空白,但保留相同的元素、屬性、順序與值。兩種模式均不會重新格式化原始 JSON 數值詞彙:JSON 解析會先將數值轉為 JavaScript 數值,因此不保留無關的詞彙細節,例如尾數零。
這個對應並不代表 XML 名稱空間、來自 JSON 鍵值的屬性、備註、處理指示、CDATA 區段、文件型別宣告或混和文字與元素內容。它也不保證與廠商不同的 JSON 到 XML 約定相容。如果 API、結構或整合定義了必須的對應,請遵循那個契約,而不是假設這個輸出與之相符。
64 深度限制可防止過度巢狀導致呼叫堆疊耗盡,同時字元限制則限制瀏覽器處理能力。無效的 JSON、無效的根名稱或以 xml 開頭的保留名稱會在輸出前產生錯誤。測試涵蓋物件、陣列、基本型別、null、空陣列、轉義、無效鍵、清晰輸出、緊湊輸出、錯誤的 JSON 與根驗證。
為取得最佳結果,建議先驗證 JSON,使用接收系統預期的根名稱,轉換代表性樣本,並在處理前以目標系統解析 XML。若需要往返一致性,應在雙方明確記錄此精確的型別對應規則,或使用模式控制的轉換。本頁面不會上傳、儲存、驗證 XSD 或將輸出傳送至遠端端點。
方法與來源
使用瀏覽器 JSON 解析器解析有界 JSON;驗證簡單的非 xml 字首根名稱;遞迴地將物件、陣列、字串、數字、布林值和 null 對映為攜帶明確型別屬性的元素;將不安全的鍵對映為帶轉義鍵屬性的項目元素;轉義 XML 文字和屬性;將巢狀深度限制在 64;並使用兩格空格縮排或無格式空白字元進行序列化。請不要聲稱有通用對應或 XSD 驗證。
常見問題
- 存在一個標準的 JSON 至 XML 轉換規則嗎?
- 沒有。本工具使用可追溯的型別對應規則,並不聲稱具有普遍相容性。
- 陣列如何表示?
- 一個陣列會變成一個標記為型別=array 的元素,並包含順序的項目子元素。
- 無效的 XML 鍵名稱會如何處理?
- 它們會變成項目元素,其轉義的鍵屬性會保留原始 JSON 鍵值。
- 貼入的字串會變成 XML 標記嗎?
- 不會。對敏感的 XML 字元進行轉義,因此 JSON 字串僅保留為文字內容。
相關工具
- XML 轉 JSON 轉換工具將結構完整、格式正確的 XML 轉換為可讀的 JSON,並保留屬性、文字內容、名稱空間以及重複元素。
- JSON 格式化工具在瀏覽器中格式化、壓縮並驗證 JSON —— 可以美化顯示或壓縮為單行,並精確標示錯誤位置。
- XML 格式化工具在瀏覽器中立即美化或壓縮 XML —— 不會上傳任何內容。
- JSON 驗證工具確認 JSON 是否有效,並以行與列為單位精確指出語法錯誤,同時提供結構診斷,全程在瀏覽器中執行。
- ANSI 色彩碼產生器建立並複製原始 SGR 逸出序列,並搜尋標準 8 色加亮 8 色的終端機色碼。
- ASCII 表格查詢所有標準 7 位 ASCII 編碼的精確十進位、十六進位、八進位與二進位值。
開發者工具 使用指南
查看全部- JSON or XML: Which Is Better and When to Convert (英文原文)
- 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 (英文原文)