JSON vs XML
JSON vs XML compared — verbosity, schema, attributes, parsing and use cases, with free formatters and converters for both.
JSON and XML both serialise structured data, but JSON is lighter and now the default for web APIs, while XML offers richer document features — attributes, namespaces and schema validation — that still matter in enterprise and document-centric systems.
JSON vs XML at a glance
| JSON | XML | |
|---|---|---|
| Verbosity | Compact | Verbose (closing tags) |
| Attributes | No (key/value only) | Yes (element attributes) |
| Schema | JSON Schema (optional) | XSD/DTD (mature) |
| Namespaces | No | Yes |
| Parsing | Native in JS, fast | Heavier (DOM/SAX) |
| Typical use | Web/REST APIs | Documents, SOAP, config, feeds |
When to use JSON
Choose JSON for web and mobile APIs — smaller payloads, native browser support and simpler parsing make it the modern default.
When to use XML
Choose XML when you need attributes, namespaces, mixed content or strict schema validation — document formats, SOAP services and many enterprise integrations still rely on it.
Tools for JSON & XML
Trình định dạng JSON
Định dạng, kiểm tra và rút gọn JSON trực tuyến. Miễn phí, không cần đăng ký — dữ liệu không rời khỏi trình duyệt của bạn.
Mở công cụTrình định dạng XML
Làm đẹp hoặc rút gọn XML bằng trình phân tích cú pháp gốc của trình duyệt. Không phụ thuộc, nhanh và chính xác.
Mở công cụTrình chuyển đổi JSON sang XML
Chuyển đổi JSON sang XML ngay trong trình duyệt. Có thể tùy chỉnh phần tử gốc, tiền tố thuộc tính và khóa văn bản.
Mở công cụTrình chuyển đổi XML sang JSON
Chuyển đổi XML sang JSON ngay trong trình duyệt. Sử dụng DOMParser gốc với tiền tố thuộc tính, khóa văn bản và chế độ compact có thể tùy chỉnh.
Mở công cụJSON vs XML
Thuộc tính được biểu diễn như thế nào?
Mỗi thuộc tính trở thành một khóa có tiền tố `@` (có thể tùy chỉnh). `<note to="Tove">` sẽ thành `{"@to": "Tove"}`.
Nếu một thẻ lặp lại nhiều lần trong thẻ cha thì sao?
Các phần tử con có cùng tên thẻ lặp lại sẽ được gộp thành một mảng JSON.
Nội dung hỗn hợp được xử lý như thế nào?
Nội dung văn bản được đặt cạnh các phần tử con dưới khóa `#text` (có thể tùy chỉnh).
Cần chuyển đổi theo chiều ngược lại?
Xem <a class="text-brand-600 hover:underline" href="/json-to-xml">JSON to XML</a>, hoặc <a class="text-brand-600 hover:underline" href="/xml-formatter">XML Formatter</a> nếu chỉ cần định dạng đẹp (pretty-print). Đầu ra JSON hoạt động trực tiếp với <a class="text-brand-600 hover:underline" href="/json-formatter">JSON Formatter</a>.