JSON-LD pojasnjen
JSON-LD je navaden JSON z eno dodatno vrstico, ki pove, kaj polja pomenijo. Ta vrstica lokalno ime polja spremeni v globalno definirano, tako da sistem, ki vaših podatkov še nikoli ni videl, kljub temu ugotovi, o čem govorite. Standard W3C je od leta 2014, tako iskalniki berejo prav to stran, in prav na njem stoji podatkovni model W3C za preverljive poverilnice.
Težava navadnega JSON
JSON pove, kako se podatki zapišejo. Ne pove ničesar o tem, kaj pomenijo. Polje z imenom name je lahko oseba, podjetje ali izdelek. Polje z imenom id je lahko številka stranke, številka potnega lista ali vrstica v neki zbirki podatkov. Dva sistema lahko oba oddajata povsem veljaven JSON in se vseeno ne strinjata o nobenem njegovem polju.
V praksi se ta vrzel zapolni z dogovorom. Strani zapišeta, kaj polja pomenijo, in temu prilagodita svojo programsko opremo. To deluje pri eni integraciji, pri desetih postane drago in popolnoma preneha delovati, ko mora poverilnico, izdano v eni državi, razumeti preveritelj v drugi, s katerim se nihče ni vnaprej pogovoril.
Kaj počne @context
JSON-LD to vrzel zapolni znotraj samega dokumenta. @context vsako kratko ime polja poveže z globalno enoličnim identifikatorjem, običajno naslovom URL, ki ga nadzoruje tisti, ki je besednjak definiral. Polje ostane kratko in berljivo za človeka ter postane nedvoumno za stroj.
Navaden JSON
{
"name": "Alex Jansen",
"birthDate": "1994-03-21",
"jobTitle": "Compliance Officer"
}Veljaven, berljiv in brez pomena za vsakogar, ki mu nihče vnaprej ni povedal, kaj naj bi polja vsebovala.
Isti podatki kot JSON-LD
{
"@context": "https://schema.org",
"@type": "Person",
"name": "Alex Jansen",
"birthDate": "1994-03-21",
"jobTitle": "Compliance Officer"
}Vsako polje zdaj kaže na objavljeno definicijo, tako da sistem, ki tega dokumenta še nikoli ni videl, lahko kljub temu pravilno prebere.
- @context poimenuje besednjak, v katerem je definirano vsako polje dokumenta.
- @type pove, kakšno stvar dokument opisuje, da se iz tega besednjaka izberejo prave definicije.
Pri samih podatkih se ne spremeni nič. Iste vrednosti v isti obliki zdaj nosijo kazalec na definicijo vsakega polja. Prejemni sistem, ki besednjak prepozna, natanko ve, kaj je dobil, tisti, ki ga ne, pa lahko dokument še vedno bere kot navaden JSON in preostalo prezre.
V tem je vsa zamisel. Pomen potuje z dokumentom, namesto da bi prebival v specifikaciji, o kateri sta se strani morali vnaprej dogovoriti.
Kje se pojavi pri preverljivih poverilnicah
W3C Verifiable Credentials Data Model 2.0, od 15. maja 2025 W3C Recommendation, je zgrajen na JSON-LD. Vsaka poverilnica se začne z @context, katerega prva vrednost je skupni besednjak poverilnic, tako da pojmi, ki so skupni vsem poverilnicam, izdajatelj, subjekt, datumi veljavnosti in podatki o statusu, povsod pomenijo isto.
Vse drugo prihaja iz drugega besednjaka. Univerza enega objavi za polja diplom, gospodarska zbornica enega za polja o registraciji podjetij. Preveritelj, ki mu je mar za diplome, naloži prvega, tisti, ki mu je mar za podatke o podjetjih, naloži drugega, in nobenega ni treba spreminjati, ko drugi doda polje.
Prav to omogoča enemu samemu formatu poverilnic, da nosi podatke, ki jih ob nastanku formata nihče ni predvidel, in to je lastnost, ki jo odprt ekosistem potrebuje, zaprt profil pa ne.
Podpisovanje povezanih podatkov
Poverilnico je treba tudi podpisati in podatkovni model tam namenoma pušča izbiro. Ovojni dokaz celotno poverilnico zavije v podpisno vsebino, kakršna je JWT. Bajti se podpišejo natanko takšni, kot so, zato vsak poseg, ki jih med potjo preuredi ali preoblikuje, podpis pokvari.
Vgrajeni dokaz Data Integrity deluje obratno. Dokument se najprej prevede v kanonično obliko, ki jo določa RDF Dataset Canonicalization in je od 21. maja 2024 W3C Recommendation, podpis pa pokriva to obliko namesto bajtov. Ker kanonična oblika ni odvisna od vrstnega reda ključev, presledkov ali tega, katera kratka imena @context pač uporablja, podpis preživi, da se dokument drugje zapiše znova.
Kam sodi v EUDI Wallet
Ne tam, kjer večina predvideva. Architecture and Reference Framework za evropsko denarnico navaja dva formata poverilnic, SD-JWT VC in mdoc, in nobeden od njiju ni JSON-LD. Organizacija, ki danes izdaja v EUDI Wallet, na poti ne bo naletela na noben @context.
Razlog je izvedljivost. Oba formata imata trdno strukturo, en sam podpisni mehanizem in nobenega dokumenta, ki bi ga moral preveritelj pridobiti, preden lahko karkoli preveri. Za denarnico, ki teče na telefonu, in preveritelja, ki mora odgovoriti v milisekundah, je to več vredno kot odprt besednjak.
JSON-LD si svoje mesto prisluži tam, kjer morajo podatki potovati onkraj ekosistema, ki jih je določil: potni listi izdelkov in podatki dobavne verige, medsektorski pilotni projekti ter vrste poverilnic, ki jih noben osrednji profil ne bo nikoli naštel. Svetova se prekrivata pogosteje, kot tekmujeta, organizacije, ki delujejo v obeh, pa običajno podprejo oba.
Tisti drugi JSON-LD, ki ste ga že uporabili
Dolgo pred poverilnicami je JSON-LD postal način, kako spletno mesto iskalniku pove, o čem govori stran. Njegov blok v izvorni kodi strani, z besednjakom schema.org, je tisto, kar stran spremeni v prepoznan članek, izdelek, dogodek ali organizacijo. Ta stran nosi tak blok.
{
"@context": "https://schema.org",
"@type": "Article",
"headline": "JSON-LD pojasnjen",
"description": "Kaj JSON-LD doda navadnemu JSON, kako @context vsakemu polju da en sam pomen in kje ga uporabljajo preverljive poverilnice.",
"image": "https://www.credenco.com/images/og-default.jpg",
"datePublished": "2026-10-15",
"dateModified": "2026-10-15",
"inLanguage": "sl",
"mainEntityOfPage": "https://www.credenco.com/sl/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"
}
}
}Gre za isti format z drugim besednjakom in to je najjasnejši način, da se bistvo vidi. Nihče tu se ni z nobenim iskalnikom o ničemer dogovoril. @context kaže na schema.org, iskalnik ta besednjak že pozna, stran pa razume stran, s katero se ni nikoli pogovarjala. Poverilnica, ki prečka mejo, počne natanko isto.
Kaj vas to stane
Kontekst mora biti na voljo. Preveritelj, ki ga pridobi v trenutku preverjanja, je varnostni odločitvi dodal omrežno odvisnost, tisti, ki ta dokument streže, pa lahko spremeni, kaj poverilnica navidez pove. Prave namestitve kontekste, ki jih sprejemajo, pripnejo in jih dostavijo s programsko opremo, namesto da bi jih razreševale sproti.
Tudi kanonizacija je pravo delo. Pretvoriti dokument v kanonično podatkovno zbirko pred podpisom je precej več kode kot podpisati bajte, načini odpovedi pa so prefinjeni. Dokumenti so poleg tega večji, kar začne šteti na kodi QR ali pri dotiku NFC.
Nič od tega ne naredi JSON-LD za napačno izbiro. Naredi ga za izbiro: plačajte za odprte besednjake tam, kjer morajo podatki preživeti dogovor, ki jih je ustvaril, in jih izpustite tam, kjer trden profil že pove vse, kar strani potrebujeta.
Kaj to pomeni za vas
Izdajatelj
Izdajanje v EUDI Wallet pomeni SD-JWT VC ali mdoc in JSON-LD nikoli ne pride na vrsto. Izdajanje v ekosistem W3C naredi iz vašega @context dolgoročno zavezo: je javna definicija vaših polj, njena sprememba pa pokvari vsakega preveritelja, ki je staro shranil v predpomnilnik.
Preveritelj
Odločite se, katere kontekste sprejemate, in jih dostavite s svojo programsko opremo. Pridobivanje enega med preverjanjem naredi oddaljeni strežnik del vaše varnostne odločitve in postavi omrežni klic sredi vašega odzivnega časa.
Razvijalec
Dokument JSON-LD berite kot navaden JSON, kadar potrebujete le eno polje, po polnem procesorju pa posezite šele tam, kjer dejansko razširjate ali kanonizirate. Večina zapletenosti, ki jo ljudje pripisujejo JSON-LD, tiči v poti podpisovanja, ne v poti branja.
Sorodni pojmi
Pogosta vprašanja
Je JSON-LD še vedno samo JSON?
Da. Vsak dokument JSON-LD je veljaven JSON in programska oprema, ki mora prebrati le eno polje, ga lahko tako tudi obravnava. Dodatna mehanika pride v poštev šele, ko dokument razširite v polno obliko ali ga kanonizirate za podpis, česar večina kode, ki bere poverilnico, nikoli ne počne.
Ali EUDI Wallet uporablja JSON-LD?
Ne. Architecture and Reference Framework navaja SD-JWT VC in mdoc kot formata poverilnic in nobeden od njiju ne uporablja JSON-LD. Pomemben je za ekosisteme W3C s preverljivimi poverilnicami, za potne liste izdelkov in za podatke dobavne verige, ne pa za evropsko denarnico samo.
Ali preveritelj vsakič prenese @context?
Ne bi smel. Pridobivanje konteksta med preverjanjem postavi omrežni klic sredi varnostne odločitve in oddaljenemu strežniku da možnost, da spremeni, kaj dokument navidez pove. Izvedbe kontekste, ki jih sprejemajo, pripnejo in jih dostavijo s programsko opremo, kar odpravi tudi zakasnitev.
Je to isti JSON-LD, ki ga berejo iskalniki?
Isti format z drugim besednjakom. Strukturirani podatki na spletni strani svoj @context usmerijo na schema.org, poverilnica pa ga usmeri na besednjak poverilnic in na vse drugo, kar potrebuje. Pravila obdelave so v obeh primerih enaka.
Viri
Ta stran je informativna in ne pomeni pravnega nasveta. Za zavezujoče napotke si neposredno oglejte specifikacije W3C.