Chuyển đến nội dung

Chuyển XML sang JSON

Chuyển tài liệu XML thành JSON: thuộc tính thành @khóa, phần tử lặp lại thành mảng và số được giữ đúng kiểu. Trình phân tích XML có sẵn của trình duyệt xử lý mọi thứ ngay trên thiết bị của bạn.

Chuyển đổi sang
Thả tệp XML vào đâyXML tối đa 100 MB · JSON, CSV, XLSX, XLS, ODS tối đa 500 MB
Chọn tệpXử lý trên thiết bị của bạn – không tải lên
Chạy ngay trên trình duyệt · không cần tải lênCách hoạt động

Cách sử dụng XML sang JSON

  1. 1

    Dán hoặc thả XML

    Tệp .xml, nguồn cấp RSS hoặc Atom, phản hồi SOAP hay bất kỳ văn bản XML nào; bảng mã khai báo trong tệp được tôn trọng.

  2. 2

    Chọn cấu trúc JSON

    Thuộc tính dạng khóa @, khóa thường hoặc bỏ qua; mảng chỉ cho phần tử lặp hoặc dùng ở mọi nơi; số giữ kiểu số hoặc giữ dạng văn bản.

  3. 3

    Sao chép JSON

    Định dạng đẹp hoặc gọn – sao chép vào bộ nhớ tạm hoặc tải xuống tệp .json.

Giới hạn và Pro

Tệp XML tối đa 100 MB, XML dán vào có dung lượng tùy trình duyệt của bạn chứa được.

Về XML sang JSON

Chuyển XML sang JSON hữu ích khi một API, cổng thông tin chính phủ hay hệ thống tích hợp cũ đưa cho bạn XML mà mã của bạn lại cần JSON. Phần tử gốc của tài liệu trở thành khóa cấp cao nhất duy nhất, mỗi phần tử con trở thành một thuộc tính, còn phần tử xuất hiện nhiều lần dưới cùng một phần tử cha sẽ thành mảng, theo đúng thứ tự trong tài liệu.

Thuộc tính cần được quyết định vì JSON không có khái niệm này. Mặc định, thuộc tính được ghi thành khóa bắt đầu bằng @ – <price currency="UZS">125000</price> thành {"@currency": "UZS", "#text": 125000} – giúp tách thuộc tính khỏi phần tử con và cho phép chuyển JSON ngược lại thành đúng XML ban đầu. Khóa thường cho đối tượng ngắn hơn; bỏ thuộc tính phù hợp với tài liệu chỉ dùng chúng cho mục đích phụ trợ.

Về giá trị: khi bật nhận diện kiểu, 42 và 3.5 thành số JSON, true/false thành boolean, nhưng những giá trị sẽ bị đổi nếu đọc như số vẫn giữ là chuỗi, chẳng hạn mã bưu chính hay số tài khoản có số 0 đứng đầu, hoặc số dài hơn 15 chữ số. Phần tử rỗng thành chuỗi rỗng.

Không gian tên được giữ nguyên như đã viết (dc:title), hoặc bạn có thể bỏ tiền tố để khóa gọn hơn, đồng thời loại luôn khai báo xmlns. Tùy chọn “Luôn dùng mảng” cho mọi phần tử con cùng một dạng mảng, tiện khi có bản ghi chỉ một tác giả còn bản ghi khác có ba.

Không được giữ lại: chú thích, chỉ thị xử lý và DOCTYPE; văn bản xen lẫn thẻ nội tuyến, như đoạn văn XHTML, được nối thành một chuỗi duy nhất.

Quyền riêng tư

XML được phân tích trong một worker nền của trang này, không gửi yêu cầu mạng nào; không tải DTD hay thực thể bên ngoài, và tài liệu không bao giờ rời khỏi thiết bị của bạn.

XML sang JSON: câu hỏi thường gặp

#text trong JSON nghĩa là gì?
Khi một phần tử vừa có thuộc tính hoặc phần tử con, vừa có văn bản riêng, văn bản đó cần một khóa riêng; #text là quy ước phổ biến. <title lang="en">Guide</title> thành {"@lang": "en", "#text": "Guide"}. Phần tử chỉ có văn bản thì thành giá trị đơn giản, nên <title>Guide</title> chỉ là "title": "Guide".
Số được chuyển kiểu hay giữ dạng chuỗi?
Khi bật “Nhận diện số và true/false”, giá trị rõ ràng là số hoặc boolean sẽ có kiểu JSON tương ứng. Giá trị có số 0 đứng đầu như 007 hay mã bưu chính, và số dài hơn 15 chữ số vẫn là chuỗi, vì chuyển thành số sẽ làm chúng thay đổi. Tắt nhận diện để giữ mọi giá trị đúng như văn bản.
Không gian tên như soap: hay dc: được xử lý thế nào?
Mặc định tiền tố vẫn nằm trong khóa, nên dc:title là khóa "dc:title" và khai báo xmlns xuất hiện dưới dạng thuộc tính @xmlns. Bật “Bỏ tiền tố không gian tên” để được title và bỏ các khai báo. Khi đó hai không gian tên khác nhau dùng cùng tên cục bộ sẽ trùng khóa, nên hãy giữ tiền tố nếu điều này quan trọng.
Sau đó tôi có thể chuyển JSON ngược lại thành XML không?
Có. Hãy chuyển đích sang XML ở trang JSON sang XML: khóa bắt đầu bằng @ thành thuộc tính, #text thành văn bản của phần tử và mảng thành các phần tử lặp lại. Thứ tự phần tử trong một phần tử cha có thể đổi nếu các tên con từng xen kẽ nhau, và chú thích sẽ mất, nhưng dữ liệu vẫn được giữ nguyên.
Vì sao tôi nhận được lỗi thay vì JSON?
XML không hợp lệ về cấu trúc, và thông báo cho biết dòng và cột của lỗi đầu tiên. Nguyên nhân thường gặp là dấu & lẽ ra phải là &amp;, thẻ đóng sai thứ tự, giá trị thuộc tính không có dấu nháy, hoặc thực thể HTML như &nbsp; mà XML không định nghĩa. Hãy sửa chỗ đó rồi dán lại.

Tác vụ khác với công cụ này