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.

Související nástroje