JSON-LD vysvetlený
JSON-LD je obyčajný JSON s jedným riadkom navyše, ktorý hovorí, čo polia znamenajú. Ten riadok mení lokálny názov poľa na globálne definovaný, takže systém, ktorý vaše údaje nikdy nevidel, aj tak zistí, o čom hovoríte. Je to štandard W3C od roku 2014, takto čítajú vyhľadávače práve túto stránku a práve na ňom stojí dátový model W3C pre overiteľné poverenia.
Problém obyčajného JSON
JSON hovorí, ako sa údaje zapisujú. Nehovorí nič o tom, čo znamenajú. Pole s názvom name môže byť osoba, firma alebo produkt. Pole s názvom id môže byť číslo zákazníka, číslo pasu alebo riadok v niečej databáze. Dva systémy môžu obidva vydávať úplne platný JSON a napriek tomu sa nezhodnúť na žiadnom jeho poli.
V praxi sa tá medzera zacelí dohodou. Obe strany spíšu, čo polia znamenajú, a podľa toho postavia svoj softvér. To funguje pri jednej integrácii, pri desiatich sa to predraží a prestane to fungovať úplne, keď poverenie vydané v jednej krajine musí pochopiť overovateľ v inej, s ktorým nikto vopred nehovoril.
Čo robí @context
JSON-LD tú medzeru zaceľuje vnútri samotného dokumentu. @context priraďuje každému krátkemu názvu poľa celosvetovo jedinečný identifikátor, zvyčajne URL, ktorú spravuje ten, kto slovník definoval. Pole zostáva krátke a čitateľné pre človeka a stáva sa jednoznačným pre stroj.
Obyčajný JSON
{
"name": "Alex Jansen",
"birthDate": "1994-03-21",
"jobTitle": "Compliance Officer"
}Platný, čitateľný a bezvýznamný pre každého, komu nikto vopred nepovedal, čo majú polia obsahovať.
Tie isté údaje ako JSON-LD
{
"@context": "https://schema.org",
"@type": "Person",
"name": "Alex Jansen",
"birthDate": "1994-03-21",
"jobTitle": "Compliance Officer"
}Každé pole teraz ukazuje na zverejnenú definíciu, takže systém, ktorý tento dokument nikdy nevidel, ho aj tak prečíta správne.
- @context pomenúva slovník, v ktorom je definované každé pole dokumentu.
- @type hovorí, aký druh veci dokument opisuje, aby sa z toho slovníka vybrali správne definície.
Na samotných údajoch sa nič nemení. Tie isté hodnoty v tej istej podobe teraz nesú odkaz na definíciu každého poľa. Prijímajúci systém, ktorý slovník pozná, presne vie, čo dostal, a ten, ktorý ho nepozná, môže dokument naďalej čítať ako obyčajný JSON a zvyšok ignorovať.
V tom je celá myšlienka. Význam cestuje s dokumentom namiesto toho, aby býval v špecifikácii, na ktorej sa obe strany museli vopred dohodnúť.
Kde sa objavuje pri overiteľných povereniach
W3C Verifiable Credentials Data Model 2.0, od 15. mája 2025 W3C Recommendation, stojí na JSON-LD. Každé poverenie sa začína @context, ktorého prvou hodnotou je zdieľaný slovník poverení, takže pojmy, ktoré majú všetky poverenia spoločné, vydavateľ, subjekt, dátumy platnosti a stavová informácia, znamenajú všade to isté.
Všetko ostatné pochádza z druhého slovníka. Univerzita jeden zverejňuje pre polia diplomov, obchodná komora jeden pre polia o registrácii firiem. Overovateľ, ktorému ide o diplomy, načíta prvý, overovateľ, ktorému ide o firemné údaje, načíta druhý, a ani jeden sa nemusí meniť, keď ten druhý pridá pole.
Práve to umožňuje jedinému formátu poverení niesť údaje, ktoré nikto nepredvídal, keď formát vznikal, a to je vlastnosť, ktorú otvorený ekosystém potrebuje a uzavretý profil nie.
Podpisovanie prepojených údajov
Poverenie sa tiež musí podpísať a dátový model tam zámerne necháva voľbu. Obaľujúci dôkaz zabalí celé poverenie do podpisového kontajnera, napríklad do JWT. Bajty sa podpisujú presne tak, ako sú, takže čokoľvek, čo ich cestou preskladá alebo preformátuje, podpis rozbije.
Vložený dôkaz Data Integrity funguje opačne. Dokument sa najprv prevedie do kanonickej podoby, ktorú definuje RDF Dataset Canonicalization a ktorá je od 21. mája 2024 W3C Recommendation, a podpis pokrýva túto podobu namiesto bajtov. Keďže kanonická podoba nezávisí od poradia kľúčov, od medzier ani od toho, aké krátke názvy @context práve používa, podpis prežije aj to, že sa dokument inde zapíše znova.
Kam zapadá v EUDI Wallet
Nie tam, kde to väčšina ľudí predpokladá. Architecture and Reference Framework uvádza pre európsku peňaženku dva formáty poverení, SD-JWT VC a mdoc, a ani jeden z nich nie je JSON-LD. Organizácia, ktorá dnes vydáva do EUDI Wallet, cestou na žiadny @context nenarazí.
Dôvodom je uskutočniteľnosť. Oba formáty majú pevnú štruktúru, jediný podpisový mechanizmus a žiadny dokument, ktorý by si overovateľ musel stiahnuť, než môže čokoľvek skontrolovať. Pre peňaženku bežiacu v telefóne a pre overovateľa, ktorý musí odpovedať v milisekundách, to má väčšiu cenu než otvorený slovník.
JSON-LD si svoje miesto zaslúži tam, kde údaje musia cestovať mimo ekosystému, ktorý ich definoval: produktové pasy a údaje dodávateľského reťazca, medziodvetvové pilotné projekty a typy poverení, ktoré žiadny centrálny profil nikdy nevymenuje. Tieto dva svety sa prekrývajú častejšie, než si konkurujú, a organizácie pôsobiace v oboch zvyčajne skončia pri podpore oboch.
Ten druhý JSON-LD, ktorý už dávno používate
Dávno pred povereniami sa JSON-LD stal spôsobom, akým web hovorí vyhľadávaču, o čom stránka je. Jeho blok v zdrojovom kóde stránky, so slovníkom schema.org, je to, čo zo stránky robí rozpoznaný článok, produkt, podujatie alebo organizáciu. Táto stránka taký blok nesie.
{
"@context": "https://schema.org",
"@type": "Article",
"headline": "JSON-LD vysvetlený",
"description": "Čo JSON-LD pridáva k obyčajnému JSON, ako @context dáva každému poľu jediný význam a kde ho používajú overiteľné poverenia.",
"image": "https://www.credenco.com/images/og-default.jpg",
"datePublished": "2026-10-15",
"dateModified": "2026-10-15",
"inLanguage": "sk",
"mainEntityOfPage": "https://www.credenco.com/sk/explained/json-ld",
"author": {
"@type": "Organization",
"name": "Credenco",
"url": "https://www.credenco.com/"
},
"publisher": {
"@type": "Organization",
"name": "Credenco",
"logo": {
"@type": "ImageObject",
"url": "https://www.credenco.com/logo.svg"
}
}
}Je to ten istý formát s iným slovníkom a je to najjasnejší spôsob, ako tú pointu vidieť. Nikto tu sa so žiadnym vyhľadávačom na ničom nedohodol. @context ukazuje na schema.org, vyhľadávač ten slovník už pozná a stránke rozumie strana, s ktorou nikdy nehovorila. Poverenie prekračujúce hranicu robí presne to isté.
Čo to stojí
Kontext musí byť dostupný. Overovateľ, ktorý si ho stiahne v okamihu overovania, pridal k bezpečnostnému rozhodnutiu sieťovú závislosť, a ten, kto tento dokument poskytuje, môže zmeniť, čo poverenie zdanlivo hovorí. Skutočné nasadenia si prijímané kontexty fixujú a dodávajú ich so softvérom namiesto toho, aby ich riešili za behu.
Aj kanonizácia je skutočná práca. Previesť dokument pred podpisom do kanonickej množiny údajov je podstatne viac kódu než podpísať bajty a spôsoby, akými môže zlyhať, sú nenápadné. Dokumenty sú navyše väčšie, čo začína hrať rolu na QR kóde alebo pri priložení NFC.
Nič z toho nerobí z JSON-LD zlú voľbu. Robí z neho voľbu: zaplaťte za otvorené slovníky tam, kde údaje musia prežiť dohodu, ktorá ich vytvorila, a vynechajte ich tam, kde pevný profil už hovorí všetko, čo obe strany potrebujú.
Čo to znamená pre vás
Vydavateľ
Vydávať do EUDI Wallet znamená SD-JWT VC alebo mdoc a JSON-LD nikdy nepríde na rad. Vydávať do ekosystému W3C robí z vášho @context dlhodobý záväzok: je to verejná definícia vašich polí a jeho zmena rozbije každého overovateľa, ktorý si uložil tú starú.
Overovateľ
Rozhodnite, ktoré kontexty prijímate, a dodávajte ich so svojím softvérom. Stiahnuť si jeden počas overovania urobí zo vzdialeného servera súčasť vášho bezpečnostného rozhodnutia a vloží sieťové volanie doprostred vášho času odozvy.
Vývojár
Čítajte dokument JSON-LD ako obyčajný JSON, keď potrebujete len jedno pole, a po plnom procesore siahnite až tam, kde naozaj rozbaľujete alebo kanonizujete. Väčšina zložitosti, ktorú ľudia JSON-LD pripisujú, sedí v ceste podpisu, nie v ceste čítania.
Súvisiace pojmy
Často kladené otázky
Je JSON-LD stále len JSON?
Áno. Každý dokument JSON-LD je platný JSON a softvér, ktorý potrebuje prečítať len jedno pole, s ním tak môže zaobchádzať. Ďalšia mechanika prichádza na rad až vtedy, keď dokument rozbalíte do plnej podoby alebo ho kanonizujete kvôli podpisu, čo väčšina kódu čítajúceho poverenie nikdy nerobí.
Používa EUDI Wallet JSON-LD?
Nie. Architecture and Reference Framework uvádza ako formáty poverení SD-JWT VC a mdoc a ani jeden z nich JSON-LD nepoužíva. Záleží na ňom v ekosystémoch W3C s overiteľnými povereniami, pri produktových pasoch a pri údajoch dodávateľského reťazca, nie pri samotnej európskej peňaženke.
Sťahuje overovateľ @context zakaždým?
Nemal by. Stiahnutie kontextu počas overovania vkladá sieťové volanie doprostred bezpečnostného rozhodnutia a dáva vzdialenému serveru možnosť zmeniť, čo dokument zdanlivo hovorí. Implementácie si prijímané kontexty fixujú a dodávajú ich so softvérom, čo zároveň odstráni oneskorenie.
Je to ten istý JSON-LD, ktorý čítajú vyhľadávače?
Ten istý formát s iným slovníkom. Štruktúrované údaje na webovej stránke smerujú svoj @context na schema.org, zatiaľ čo poverenie ním smeruje na slovník poverení a na čokoľvek ďalšie, čo potrebuje. Pravidlá spracovania sú v oboch prípadoch rovnaké.
Zdroje
Táto stránka je informatívna a nepredstavuje právne poradenstvo. Pre záväzné pokyny nahliadnite priamo do špecifikácií W3C.