Trình chuyển đổi XML ⇄ JSON
Giới thiệu công cụ
Công cụ chuyển đổi qua lại giữa XML và JSON. Logic đã được điều chỉnh để ưu tiên chu trình khứ hồi (chuyển đổi và đổi ngược lại nguyên trạng).
Mặc định tùy chọn đưa các phần tử lặp lại cùng tên vào mảng được tắt, và mảng chỉ được tạo khi có từ 2 phần tử trở lên.
Khi gốc JSON là một mảng, XML biểu diễn dưới dạng <root><item>…</item>…</root>
, và khi chuyển XML→JSON cấu trúc đó sẽ được khôi phục thành mảng.
Toàn bộ xử lý diễn ra trong trình duyệt của bạn, dữ liệu không được gửi ra ngoài.
Chuyển đổi XML ⇄ JSON
—
Cách sử dụng
- Dán XML hoặc JSON vào ô bên trái.
- Nhấn XML → JSON hoặc JSON → XML.
- Điều chỉnh thụt lề, khóa thuộc tính/văn bản, việc giữ namespace và cách xử lý mảng khi cần.
- Dùng nút Validate để kiểm tra cú pháp.
Ví dụ
XML → JSON:
<user id="42">
<name>Taro</name>
<role>admin</role>
<role>editor</role>
</user>
{
"user": {
"@id": "42",
"name": "Taro",
"role": ["admin", "editor"]
}
}
Bổ sung
- Thuộc tính được biểu diễn là
[tiền tố thuộc tính][tên thuộc tính]
(mặc định@id
v.v.). - Nội dung văn bản của phần tử dùng
[khóa văn bản]
(mặc định#text
). - Các phần tử trùng tên mặc định giữ giá trị đơn và chỉ khi có từ 2 mục trở lên mới chuyển thành mảng.
- Khi gốc JSON là mảng, XML dùng
<root><item>…</item>…</root>
(có thể đổi tên mục). - Phần tử rỗng không có văn bản hay thuộc tính được xuất thành đối tượng rỗng
{}
.
Lưu ý (giới hạn về tương đương)
Chúng tôi cố gắng để “JSON gốc” → XML → “JSON đã hoàn nguyên” trả về cùng một tệp, nhưng các trường hợp dưới đây khó đáp ứng.
JSON gốc:
"urls": [
"admin.microsoft.com"
],
"expressRoute": false,
"id": 160,
JSON sau khi chuyển ngược:
"urls": "admin.microsoft.com",
"expressRoute": "false",
"id": "160",
※Do sự khác biệt trong cách xử lý kiểu dữ liệu giữa XML và JSON, dù có thể bổ sung chú thích kiểu ở phía XML nhưng rất khó đạt được sự tương đương tuyệt đối.