4 ms·
Protobuf actually has a canonical text format. It's easy to produce in C++ or Java https://developers.google.com/protocol-buffers/docs/reference/cpp/google.prot
by vii 6y ago
Protobuf actually has a canonical text format. It's easy to produce in C++ or Java https://developers.google.com/protocol-buffers/docs/reference/cpp/google.protobuf.text_format https://developers.google.com/protocol-buffers/docs/referenc...
The format has much less extra syntactical noise than JSON.
For example,
name: "vii" # comments allowed!
id: 23923373
Pretty nifty as it allows readable configuration files with structured data.
- tandr 6y agoif it is an "easy to produce or consume in language X" it does not mean it is canonical - it means that language X has an extension that allows to do so. Is there a place in protobuf spec or documentation mentioning this to be a part of the protocol?
- vii 6y agoLanguage X is at least C++ (as linked), Java https://developers.google.com/protocol-buffers/docs/reference/java/com/google/protobuf/TextFormat https://developers.google.com/protocol-buffers/docs/referenc... , and Python https://github.com/protocolbuffers/protobuf/blob/master/python/google/protobuf/text_format.py https://github.com/protocolbuffers/protobuf/blob/master/pyth... I think the Protobuf spec focuses on the binary serialization - the text format and JSON representations are not related to that at all, of course.