DevToolPal
VI

Chuyển XML sang JSON

Chuyển XML sang JSON ngay trong trình duyệt, giữ thuộc tính, văn bản và phần tử lặp lại, báo đúng vị trí lỗi.

Chạy cục bộ, không bao giờ tải lên

Tùy chọn

Đầu vào

0 ký tự · 0 B

Đầu ra

0 ký tự · 0 B

Công cụ này làm gì

Công cụ này biến một tài liệu XML thành JSON. Phần tử trở thành khóa của object, thuộc tính trở thành khóa có tiền tố, văn bản bên trong phần tử trở thành giá trị của nó, và các phần tử anh em lặp lại trở thành mảng. Trước khi chuyển đổi, XML được kiểm tra hợp lệ: nếu một thẻ chưa được đóng hoặc một thuộc tính bị sai định dạng, bạn sẽ thấy chính xác dòng và cột.

Cách sử dụng

  1. Dán XML vào ô Đầu vào, tải lên hoặc thả tệp .xml, hoặc nhấn Ví dụ.
  2. JSON xuất hiện ở bên phải ngay khi bạn gõ.
  3. Điều chỉnh các tùy chọn:
    • Thụt lề: 2 hoặc 4 dấu cách, tab, hoặc đầu ra thu gọn.
    • Tiền tố thuộc tính: ký hiệu đánh dấu thuộc tính, mặc định là @. Để trống để bỏ qua thuộc tính.
    • Chuyển số và boolean: biến văn bản như 42 và true thành số và boolean JSON thật.
    • Luôn dùng mảng: bọc mọi phần tử con trong một mảng để cấu trúc luôn dự đoán được.
  4. Sao chép hoặc tải kết quả về dưới dạng tệp .json.

Ví dụ

<book id="bk101">
  <title lang="en">XML Developer's Guide</title>
  <tag>xml</tag>
  <tag>programming</tag>
</book>

trở thành

{
  "book": {
    "title": { "#text": "XML Developer's Guide", "@lang": "en" },
    "tag": ["xml", "programming"],
    "@id": "bk101"
  }
}

Ghi chú

Khai báo XML (<?xml ...?>) và các processing instruction không được đưa vào JSON. Chú thích bị bỏ qua. Khoảng trắng quanh văn bản được cắt bỏ.

Câu hỏi thường gặp

› Thuộc tính XML được biểu diễn thế nào trong JSON?

Dưới dạng các khóa bắt đầu bằng tiền tố thuộc tính, mặc định là "@". Ví dụ <price currency="USD">44.95</price> trở thành { "@currency": "USD", "#text": "44.95" }. Xóa trống ô tiền tố để bỏ hoàn toàn các thuộc tính.

› Tại sao một phần tử lúc là mảng, lúc lại là object?

Phần tử lặp lại trở thành mảng, còn phần tử đơn lẻ vẫn là giá trị thông thường. Nếu mã của bạn luôn cần cùng một cấu trúc, hãy bật "Luôn dùng mảng".

› Số có được chuyển đổi không?

Mặc định là không, vì những giá trị như mã bưu chính hay ID có số 0 ở đầu sẽ bị thay đổi. Bật "Chuyển số và boolean" để nhận 42 thay vì "42" và true thay vì "true".

› XML của tôi có bị tải lên không?

Không. Việc phân tích diễn ra trong trình duyệt của bạn.