Chuyển đổi XML sang JSON
Chuyển XML thành JSON, giữ thuộc tính dưới một tiền tố, phần tử lặp lại thành mảng, tùy chọn đọc số/boolean và báo lỗi cú pháp rõ ràng. Miễn phí, chạy trên trình duyệt.
Chạy hoàn toàn trong trình duyệt. Dữ liệu của bạn không bao giờ bị tải lên.
Công cụ Liên quan
Xem Tất cảXML sang JSON là gì?
Dán XML để nhận một đối tượng JSON tương đương. Tên phần tử trở thành khóa, phần tử lặp lại trở thành mảng, thuộc tính được giữ với tiền tố tùy chỉnh và văn bản hỗn hợp được lưu dưới #text. XML không hợp lệ được báo lỗi kèm dòng và cột.
Cách sử dụng XML sang JSON
- Dán XML vào ô Dữ liệu XML đầu vào, hoặc dùng Tải ví dụ hay Mở tệp.
- Điều chỉnh Tiền tố khóa thuộc tính, Bỏ qua thuộc tính, Chuyển số và giá trị boolean và Luôn dùng mảng cho phần tử khi cần.
- Chọn mức Thụt lề cho JSON.
- Kết quả JSON cập nhật ngay khi bạn gõ; dùng Sao chép hoặc Tải xuống.
Ví dụ
<book id="7"><title>Dune</title><price>9.5</price></book>
{
"book": {
"title": "Dune",
"price": 9.5,
"@_id": 7
}
} Khi nào nên dùng XML sang JSON
Dùng để xem xét hoặc di chuyển dữ liệu XML (feed, phản hồi SOAP, tệp cấu hình) sang các công cụ dựa trên JSON. Chú thích, khai báo namespace và thứ tự phần tử so với văn bản không được giữ chính xác, nên công cụ không phù hợp để chuyển đổi hai chiều các tài liệu như XHTML.
XML sang JSON hoạt động như thế nào
Tài liệu trước tiên được kiểm tra bằng XMLValidator của fast-xml-parser, công cụ báo lỗi cú pháp đầu tiên kèm vị trí. Sau đó nó được phân tích bằng XMLParser: khai báo XML và processing instruction bị bỏ, giá trị được cắt khoảng trắng, và – khi bật chuyển kiểu – văn bản dạng số hoặc boolean như 9.5 hay true trở thành số hoặc boolean JSON. Với Luôn dùng mảng, mọi phần tử được bọc trong mảng để cấu trúc ổn định bất kể có bao nhiêu phần tử con.
Các Trường Hợp Sử Dụng Phổ Biến
- Xem phản hồi SOAP hoặc RSS dưới dạng JSON
- Chuyển cấu hình XML sang định dạng JSON
- Nạp dữ liệu xuất XML vào mã JavaScript
- So sánh hai tài liệu XML bằng cách chuyển chúng sang JSON
Câu Hỏi Thường Gặp
Vì sao một phần tử là đối tượng nhưng hai phần tử lại là mảng?
Mặc định trình phân tích chỉ tạo mảng khi phần tử lặp lại. Hãy bật Luôn dùng mảng cho phần tử để có cấu trúc dễ đoán.
Vì sao "007" lại thành 7?
Chuyển kiểu biến văn bản dạng số thành số. Tắt Chuyển số và giá trị boolean để giữ mọi giá trị ở dạng chuỗi.
Thuộc tính được đặt ở đâu?
Chúng được lưu trên đối tượng của phần tử kèm tiền tố, ví dụ "@_id": 7. Bật Bỏ qua thuộc tính để loại bỏ chúng.