One of the benefits of the JSON standard being pretty simple is that it makes JSON is pretty efficient to parse. We're not talking ProtoBuf efficient here, but I've easily parsed files containing gigabytes of JSON.
That's true, and JSON is probably the best choice as a lowest common denominator given the protocol's intent to be language agnostic. You'd want to implement a language server for language X in X itself, and most languages have mature libraries for working with JSON.