You can and should use Twirp's protobuf serialization instead for almost all applications. The JSON serialization is really intended for developers and low-throughput cross-language clients.
Protobuf serialization isn't free, but it's definitely cheaper than JSON serialization.
I've unfortunately been bitten before by choosing json as a serialization format, specifically in go, due to JSON performance dominating processing.
No criticism though, JSON is the right choice for many types of APIs.