JSON-LD (JSON for Linking Data) is a W3C-standardized JSON syntax for encoding linked data — it lets a web page declare structured metadata inline using vocabularies like schema.org, and it is Google's recommended structured-data format.
The specification lives at W3C JSON-LD 1.1. In practice the format looks like a normal JSON object with two special keys: @context (usually "https://schema.org") that names the vocabulary, and @type that names the entity type (Article, QAPage, Organization).
Google's structured-data introduction lists JSON-LD as the recommended format ahead of Microdata or RDFa, primarily because it decouples metadata from visible HTML — the same JSON block can be regenerated by a template engine without touching the DOM.
Two features matter for answer engines. @id makes entities addressable and re-referenceable across a graph — an Article's author can be { "@id": "https://site.com/#jane" } instead of a duplicated Person node. @graph lets a single script tag hold multiple related nodes (Organization, WebSite, Person, Article), which is how larger sites structure their identity block.
Common failure: injecting JSON-LD via client-side JavaScript. Most AI crawlers do not execute JavaScript, so the markup is invisible. Render JSON-LD on the server.