Microformats vs JSON-LD

Microformats versus JSON-LD and Microdata

Three ways to embed structured data
Aspect Microformats2 Microdata JSON-LD
Markup class and rel values itemscope, itemprop <script type="application/ld+json">
Vocabulary h-card, h-entry, ... Usually schema.org Usually schema.org
Nesting Nested h-* roots Nested itemscope Plain JSON objects
Google rich results Not a listed format Supported Supported, recommended

Google calls JSON-LD, Microdata and RDFa "equally fine" but recommends JSON-LD: it is easy to maintain, nests cleanly and can be injected by JavaScript. Use it for search features (JSON-LD and schema.org), and add microformats for IndieWeb tools and rel="me"; both fit on one page.