JSON-LD is also much easier to generate in scenarios where you can access post meta data and output scripts but can't necessarily filter HTML markup output (WordPress, corporate CMS, etc.).
And you can generate it dynamically: https://developers.google.com/search/docs/guides/generate-st...