JSON vs XML - Který formát dat je lepší?
Plné srovnání formátů JSON a XML: syntaxe, velikost souborů, rychlost parsování, podpora schémat a doporučení, kdy který formát zvolit.
Porovnání JSON a XML
Porovnání obou možností podle klíčových vlastností.
| Vlastnost | JSON | XML |
|---|---|---|
| Syntax Verbosity | Compact | Verbose |
| File Size | Smaller | Larger |
| Parsing Speed | Faster | Slower |
| Native JS Support | Yes (JSON.parse) | No (needs DOMParser) |
| Attributes Support | No | Yes |
| Mixed Content | No | Yes |
| Namespaces | No | Yes |
| Validation (Schema) | JSON Schema | XSD / DTD |
| Document Markup | Poor | Excellent |
Nejlepsi
Stredni
Slabe
✓ = vitez v radku
Kdy použít - shrnutí
JSON
REST API, konfigurace modernich nastroju a NoSQL databaze dokumentu.
XML
Kancelarske dokumenty (DOCX, XLSX), SVG, publikovani a enterprise integrace (SOAP).
Kdy použít jednotlivé formáty
Kdy pouzit JSON
- REST API payloads for web and mobile applications
- Configuration files for modern build tools (npm, ESLint, VS Code)
- NoSQL document databases (MongoDB, CouchDB, Firestore)
- Server-to-server messaging and serverless event payloads
- Lightweight data exchange where bandwidth matters
Kdy pouzit XML
- Office document formats (OOXML for Word/Excel, ODF for LibreOffice)
- SVG vector graphics and RSS/Atom feeds
- SOAP web services and enterprise B2B integrations
- Configurable UI layouts and mixed content documents
- Publishing workflows (DITA, DocBook) with rich metadata
Často kladené otázky
Nahrazuje JSON formát XML?
Ne zcela. JSON dominuje u nových REST API a webových aplikací, ale XML zůstává široce používán v podnikových systémech (SOAP), dokumentech Office (OOXML), SVG, RSS i ve finančních službách. Spíše než o nahrazení jde o to, že nové projekty volí JSON mnohem častěji.
Proč je JSON menší než XML?
JSON nemá uzavírací značky ani atributy - data jsou pouze páry klíč-hodnota a pole. XML obsahuje otevírací i uzavírací značky, často navíc deklarace, jmenné prostory a atributy, což znamená více bajtů pro stejná data. Menší přenos znamená rychlejší načítání a nižší náklady na API.
Umí XML něco, co JSON nedokáže?
Ano. XML podporuje atributy u elementů, smíšený obsah (text a podelementy společně), jmenné prostory a vyzrálou validaci schématy XSD. JSON atributy nemá (vše je pár klíč-hodnota), smíšený obsah nativně neumí a validuje se přes JSON Schema, které není tak výrazné jako XSD.
Který formát je lepší pro konfigurační soubory?
Pro jednoduchou konfiguraci čtenou JavaScriptovými nástroji je výchozí volbou JSON. U složitější konfigurace, která potřebuje komentáře, smíšený obsah nebo atributy - například Maven POM, Spring beans nebo web.xml - je stále běžný XML. Oblíbené jsou i alternativy TOML a YAML, které komentáře podporují.
Se XML se ještě dnes pracuje?
Ano, hodně. Každý dokument Microsoft Office (.docx, .xlsx) je uvnitř OOXML, SVG grafika je XML, RSS i Atom feedy jsou XML a velké firmy stále provozují SOAP služby a přihlašování SAML. Nová API sázejí spíš na JSON nebo Protobuf, ale XML zdaleka není mrtvé.
Co je rychlejší, JSON nebo XML?
Pro většinu webových úloh je rychlejší JSON: má jednodušší gramatiku, vysoce optimalizované parsery a menší přenosy. Rychlost parsování ale závisí na konkrétní knihovně a struktuře dokumentu, proto u výkonnostně kritických systémů benchmarkujte na vlastních datech. Moderní XML parsery (StAX, expat) jsou také rychlé - rozdíl bývá řádově v milisekundách.