I think jaf did this because the average webdev would be scared of binary specs
https://github.com/nostr-protocol/nips/issues/354
Picking JSON serialization rather than a well specified binary serialization was a terrible idea. Satoshi got this right; nostr did not.
Discussion
The average webdev isn't competent enough to be doing anything crypto related directly. Scaring them off is fine. That's why we build libraries.