The serializers in
PUP-5908 and PUP-5909 focus on machine to machine communication. They will contain many optimizations and tricks to make those formats as efficient as possible for the underlying encoding. They will look like complete gibberish to a human.
In order to make models humanly readable (although not exclusively targeting humans) we should implement a serializer that has verbose output. This format may also be used for someone that is writing utility tools in a language/environment where the investment to support the Machine to Machine formats is prohibiting. (There are many tasks you can perform with something like json-query on such a format; defining the json query that can make sense out of the highly optimized and tabulated machine to machine formats is almost impossible).
We should use JSON for this.
When we have this format, it is easy to transform between them. A file with a MM format can be deserialized and re-serialized possibly even without having to create a representation. This enables writing a tool for inspection of binary serialization and other similar use cases.