If you've added Product structured data, watched it pass a JSON linter, and still got "Invalid" in Search Console (or no price shown in rich results), you've almost certainly hit the one that catches everyone: the price field.

Valid JSON is not valid schema.org. Here's the trap and the fix.

The markup that looks right but isn't

<script type="application/ld+json">

{