Công cụ
VI

Chuyển đổi XML sang JSON

Dán XML để nhận JSON ngay lập tức. Thuộc tính, văn bản và phần tử lặp lại được chuyển đổi theo các quy tắc đơn giản, dễ đoán, và các tùy chọn cho phép bạn kiểm soát mảng, kiểu giá trị và tiền tố namespace.

XML

JSON

Riêng tư: dữ liệu của bạn được xử lý ngay trong trình duyệt và không bao giờ được tải lên.

Cách chuyển XML sang JSON

  1. Dán XML, kéo thả file .xml vào trình soạn thảo hoặc tải từ URL. JSON xuất hiện ngay khi bạn gõ.
  2. Điều chỉnh tiền tố thuộc tính và khóa văn bản, rồi quyết định có luôn dùng mảng, chuyển đổi số và boolean, hay bỏ qua tiền tố namespace.
  3. Sao chép JSON hoặc tải về dưới dạng file .json.

Quy tắc chuyển XML sang JSON

XMLJSON
<name>Ada</name>"name": "Ada"
<price>9.90</price>"price": 9.90 – giữ nguyên chính xác các chữ số
<item id="7">Pen</item>"item": {"@id": 7, "#text": "Pen"}
<tag>a</tag><tag>b</tag>"tag": ["a", "b"]
<note/>"note": null
<![CDATA[a < b]]>văn bản "a < b"
<soap:Body> khi bật Bỏ qua tiền tố namespace"Body"

Vì sao tùy chọn “Luôn dùng mảng” quan trọng

Một phần tử xuất hiện một lần sẽ trở thành một giá trị đơn, nhưng khi xuất hiện hai lần nó trở thành mảng. Code đọc JSON khi đó phải xử lý cả hai dạng – một lỗi kinh điển khi danh sách đôi khi chỉ có một phần tử. Đánh dấu Luôn dùng mảng cho phần tử con để nhận mảng ở mọi nơi: cấu trúc dễ đoán hơn, đổi lại có thêm vài dấu ngoặc.

Chuyển XML sang JSON bằng code

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

Chuyển đổi có làm mất dữ liệu không?

Tên phần tử, thuộc tính và văn bản được giữ nguyên, và số giữ đúng từng chữ số. Chú thích, chỉ thị xử lý và vị trí của văn bản nằm giữa các phần tử con (nội dung hỗn hợp) không thể biểu diễn trong JSON.

Có thể chuyển JSON ngược lại sang XML không?

Có, với công cụ chuyển JSON sang XML trên trang web chị em JSON Formatter, sử dụng cùng quy ước @ và #text.

Namespace được xử lý thế nào?

Theo mặc định, tên có tiền tố như soap:Body được giữ nguyên làm khóa, và các khai báo xmlns xuất hiện dưới dạng thuộc tính. Đánh dấu Bỏ qua tiền tố namespace để nhận tên đơn giản như Body mà không có các khai báo.

Tại sao một giá trị là chuỗi thay vì số?

Các giá trị như 007 hoặc 1,000 không phải số thập phân thông thường, nên chúng được giữ dạng chuỗi để tránh mất dữ liệu. Bỏ chọn Chuyển đổi số và true/false để giữ mọi giá trị ở dạng chuỗi.