JSON has an advantage over YAML in that you can have a schema defined that will help with autocompletion and validation.

Ideally, configs should be written in PHP (like Symfony is doing in v6), as you can cache the calls in the opcache plus you can have autocompletion in the IDE. The problem is that you need to expose them in JS somehow for the blocks/editor. But that’s an implementation detail.