Тут проблема в том, что JSON API идёт на стыке между разными командами, которые зачастую, не могут придти к единому мнению как общаться между сервером и клиентом (хоть стандарт и диктует как)
Отсюда все благие намерения превращаются в «давай быстрее, тут надо», «та мы там используем какую-то библиотеку старой версии, она не умеет» и подобное. А потом и вовсе у каждого «своя» реализация JSON API.
Имхо, это одна из причин почему это ещё не устаканено