Cách dùng XML sang JSON
- Dán XML hoặc mở tệp
.xml. - Chọn cách xử lý thuộc tính, kiểu dữ liệu và phần tử rỗng.
- Liệt kê tên các phần tử luôn cần là mảng, kể cả khi chúng chỉ xuất hiện một lần.
- Sao chép hoặc tải xuống JSON.
Cách XML ánh xạ sang JSON
| XML | JSON |
|---|---|
<name>Ada</name> | "name": "Ada" |
<price currency="USD">9.5</price> | "price": {"@currency": "USD", "#text": 9.5} |
Các phần tử <tag> lặp lại | "tag": ["a", "b"] |
<![CDATA[ … ]]> | Chuỗi thuần |
<empty/> | "" hoặc null |
Vấn đề về mảng
XML không có kiểu mảng, chỉ có các phần tử lặp lại. Bộ chuyển đổi không thể biết <item> là danh sách khi nó chỉ xuất hiện một lần, nên cấu trúc JSON thay đổi theo dữ liệu: một mục cho ra một đối tượng, hai mục cho ra một mảng. Điều này làm hỏng mã đang mong đợi một danh sách. Hãy thêm tên phần tử đó vào mục Luôn là mảng cho để có kết quả nhất quán.
Kiểu dữ liệu
Toàn bộ nội dung XML đều là văn bản. Khi bật Nhận diện số & boolean, các giá trị như 42, 9.5 và true sẽ được chuyển thành số và boolean trong JSON. Số dài (hơn 15 chữ số) và giá trị có số 0 đứng đầu sẽ giữ nguyên dạng chuỗi để tránh mất độ chính xác.
Kiểm tra hợp lệ
XML được phân tích bằng bộ phân tích XML có sẵn trong trình duyệt của bạn, nên dữ liệu sai cấu trúc, chẳng hạn thẻ chưa đóng hoặc ký tự & chưa được escape, sẽ được báo lỗi thay vì tạo ra JSON bị hỏng. Tên có namespace (g:price) vẫn giữ nguyên tiền tố. Bạn có thể xem kết quả bằng trình xem JSON, hoặc chuyển ngược lại bằng JSON sang XML.
Cũng được tìm dưới tên: chuyển xml sang json, xml to json, xml2json, chuyển đổi xml sang json online, soap sang json, rss sang json, xml json converter, convert xml to json.
Các công cụ dùng kèm tốt với XML sang JSON
- Định dạng XML — Chuyển XML bị nén hoặc lộn xộn thành cấu trúc thụt lề rõ ràng và kiểm tra xem XML có well-formed hay không, dùng cho feed, sitemap, thông điệp SOAP, file cấu hình và SVG.
- Định dạng JSON — Dán JSON để định dạng đẹp, nén hoặc kiểm tra.
- YAML sang JSON — Dán YAML — file Compose, manifest Kubernetes hay cấu hình CI — và nhận JSON đã được định dạng.
- Kiểm tra JSON Schema — Dán schema và dữ liệu JSON để xem chính xác giá trị nào vi phạm quy tắc nào, hoặc tạo schema ban đầu từ dữ liệu mẫu.
Câu hỏi thường gặp
Vì sao một phần tử là đối tượng nhưng nhiều phần tử lại thành mảng?
Thuộc tính được xử lý thế nào?
Có hỗ trợ namespace không?
atom:link được giữ làm khóa; khai báo namespace xuất hiện dưới dạng thuộc tính @xmlns.