Somewhat for the same reason NOSTR is JSON not a smaller binary packing, because JSON is near universally usable, even if pretty crap Low dev effort to get started using a thing is important, perfect enemy of good
If you are base64 encoding it there is no benefit to json though