What it looks like
A script tag of type application/ld+json holds JSON that uses the vocabulary from schema.org, for example "@type": "FAQPage". It sits in the page and is invisible to visitors.
Why use it
It gives machines an exact description of the content, which can qualify a page for rich results in some cases. The markup must match what visitors can see on the page.
Try it
The FAQ Schema Generator builds an FAQPage block. Note that Google no longer shows FAQ rich results.
Common misunderstanding
Structured data does not boost rankings by itself. It helps search engines understand a page and, for some types, display it differently.