JSON-LD naar afgeplatte vorm — Numio
Maakt een JSON-LD-document plat met jsonld.flatten: elk knooppunt, inclusief geneste knooppunten, wordt een item op het hoogste niveau in @graph, en geneste objecten worden vervangen door {"@id"}-referenties. Naamloze knooppunten krijgen lege knooppunt-ID's zoals _:b0.
Diep geneste JSON-LD omzetten in een platte lijst met knooppunten die eenvoudig kan worden geïndexeerd via @id of in een winkel kan worden geladen.
Wanneer gebruik je dit?
- Diep geneste JSON-LD omzetten in een platte lijst met knooppunten die eenvoudig kan worden geïndexeerd via @id of in een winkel kan worden geladen.
- Zoeken welke geneste objecten geen @id hebben, omdat ze worden weergegeven als _:b lege knooppunten.
Hoe werkt het
- Plak het document in de JSON-LD-editor.
- Plaats de context waarmee het resultaat moet worden gecomprimeerd in de contexteditor, bijvoorbeeld {"@context": {"@vocab": "http://schema.org/"}}.
- Lees de @graph-array, waarin elk knooppunt één keer wordt vermeld, gesorteerd op @id.
JSON-LD + context
// JSON-LD editor
{
"@context": {"@vocab": "http://schema.org/"},
"@id": "http://example.org/order/7",
"@type": "Order",
"customer": {"name": "Jane Doe"},
"orderedItem": [
{"@id": "http://example.org/product/42", "name": "Lamp"}
]
}
// Context editor
{"@context": {"@vocab": "http://schema.org/"}}Afgevlakt JSON-LD
{
"@context": {
"@vocab": "http://schema.org/"
},
"@graph": [
{
"@id": "_:b0",
"name": "Jane Doe"
},
{
"@id": "http://example.org/order/7",
"@type": "Order",
"customer": {
"@id": "_:b0"
},
"orderedItem": {
"@id": "http://example.org/product/42"
}
},
{
"@id": "http://example.org/product/42",
"name": "Lamp"
}
]
}Details en beperkingen
De Context-editor is vereist en moet geldige JSON bevatten; het resultaat wordt ermee gecomprimeerd.
Lege knooppunt-ID's (_:b0, _:b1, ...) worden tijdens de verwerking toegewezen en zijn geen stabiele identificatiegegevens.
Draait in uw browser met jsonld.js. Externe contexten in beide editors worden door uw browser opgehaald. Als het downloaden mislukt, wordt op de pagina een fout weergegeven waarbij de context URL wordt genoemd.
FAQ
Wat gebeurt er met geneste objecten?
Elk genest object wordt zijn eigen item in @graph en het bovenliggende object behoudt alleen een referentie, zoals "klant": {"@id": "_:b0"}.
Waarom wordt een array met één item weergegeven als een object?
Omdat het resultaat wordt gecomprimeerd, wordt een eigenschap met één waarde (orderedItem hierboven) zonder de array geschreven.
Wordt hetzelfde knooppunt samengevoegd als het twee keer voorkomt?
Ja. Knooppunten met dezelfde @id worden samengevoegd tot één item met al hun eigenschappen.