Chuyển đổi JSON sang XML
Biến đổi dữ liệu JSON thành cấu trúc XML chuẩn xác.
Nhiều hệ thống tích hợp cũ, dịch vụ web giao thức SOAP hay các luồng xử lý EDI chuyên biệt vẫn đòi hỏi định dạng XML đầu vào, trong khi các ứng dụng hiện đại chủ yếu trao đổi qua JSON. Công cụ này hỗ trợ kết nối hai thế giới dữ liệu đó, giúp bạn tạo ra tài liệu XML hoàn chỉnh từ chuỗi JSON ban đầu.
Sự khác biệt về cấu trúc giữa JSON và XML
Hai chuẩn định dạng này được thiết kế theo tư duy lưu trữ dữ liệu rất khác nhau. XML phân tách rõ ràng giữa các thẻ phần tử và các thuộc tính đi kèm, vì vậy khi chuyển đổi, hệ thống phải tuân theo các quy ước để xác định khóa nào trở thành thẻ con và khóa nào là thuộc tính.
Ngược lại, JSON có các kiểu dữ liệu nguyên bản như số, giá trị logic và giá trị rỗng tách biệt hoàn toàn với chuỗi văn bản. XML thuần túy không tích hợp sẵn cơ chế phân biệt này: mọi giá trị bên trong thẻ đều được coi là văn bản cho đến khi có một lược đồ bên ngoài diễn giải chúng. Do đó, một số như 42 hay giá trị true khi sang XML sẽ hiển thị dưới dạng chuỗi văn bản thông thường.
Quy trình chuyển đổi JSON sang XML
- Dán đoạn mã JSON hoặc cấu trúc mảng bạn cần chuyển đổi vào ô văn bản.
- Nhấp vào nút chuyển đổi để gửi nội dung cần xử lý đến máy chủ.
- Nhận kết quả tài liệu XML trả về và sao chép để dùng cho dịch vụ của bạn.
Quy ước xử lý khi chuyển đổi JSON sang XML
- Mảng trong JSON — Các phần tử mảng liên tiếp thường được ánh xạ thành các thẻ ngang hàng có cùng tên, do XML không hỗ trợ cấu trúc danh sách riêng biệt.
- Khóa đối tượng — Mặc định chuyển thành thẻ phần tử con nằm bên trong phần tử cha tương ứng.
- Khóa chứa khoảng trắng hoặc bắt đầu bằng số — Tên thẻ XML không được chứa dấu cách hay bắt đầu bằng ký tự số, nên chuỗi khóa cần được chuẩn hóa lại.
- Giá trị null — Thường được biểu diễn dưới dạng thẻ rỗng hoặc thẻ tự đóng do XML không có khái niệm
nulltương đương. - Phần tử gốc — XML luôn bắt buộc phải có đúng một thẻ gốc bao bọc toàn bộ tài liệu, ví dụ như
root, trong khi JSON không đòi hỏi điều này.
Bảng ví dụ minh họa chuyển đổi JSON sang XML
| JSON | XML |
|---|---|
{"user": {"id": 42, "active": true}} | <user><id>42</id><active>true</active></user> |
{"tags": ["a", "b"]} | <tags>a</tags><tags>b</tags> |
{"note": null} | <note/> |
Câu hỏi thường gặp về chuyển đổi JSON sang XML
Chuyển XML ngược lại JSON có giữ nguyên định dạng ban đầu không?
Không chắc chắn giữ nguyên hoàn toàn. Do XML biểu diễn mọi thứ thành văn bản, quá trình hoàn nguyên có thể biến số 42 thành chuỗi văn bản nếu không có lược đồ kiểu dữ liệu hỗ trợ.
Mảng JSON được biểu diễn như thế nào trong thẻ XML?
Chúng được thể hiện bằng cách lặp lại nhiều thẻ cùng tên cho từng phần tử thuộc danh sách, tuân theo quy ước tài liệu thông dụng.
Công cụ có tạo thuộc tính XML từ khóa JSON không?
Một số quy ước cho phép chuyển khóa thành thuộc tính nếu khóa có tiền tố đặc biệt như ký hiệu @, thay vì luôn tạo thành phần tử con.
Tài liệu XML tạo ra có dòng khai báo ở đầu không?
Thông thường kết quả sẽ có dòng khai báo chuẩn dạng <?xml version="1.0" encoding="UTF-8"?> để đảm bảo khả năng tương thích cao nhất.
Dữ liệu JSON nhập vào có được lưu lại trên máy chủ không?
Dữ liệu được gửi lên máy chủ để xử lý chuyển đổi nhưng không được lưu trữ lâu dài; bạn có thể tham khảo chính sách quyền riêng tư để biết chi tiết.