Convert a message from binary to JSON or vice versa
Usage
$ buf convert <input> [flags]
Description
Use an input proto to interpret a proto/json message and convert it to a different format.
Examples:
$ buf convert <input> --type=<type> --from=<payload> --to=<output>
The <input> can be a local .proto file, binary output of "buf build", bsr module or local buf module:
$ buf convert example.proto --type=Foo.proto --from=payload.json --to=output.bin
All of <input>, "--from" and "to" accept formatting options:
$ buf convert example.proto#format=bin --type=buf.Foo --from=payload#format=json --to=out#format=json
Both <input> and "--from" accept stdin redirecting:
$ buf convert <(buf build -o -)#format=bin --type=foo.Bar --from=<(echo "{\"one\":\"55\"}")#format=json
Redirect from stdin to --from:
$ echo "{\"one\":\"55\"}" | buf convert buf.proto --type buf.Foo --from -#format=json
Redirect from stdin to <input>:
$ buf build -o - | buf convert -#format=bin --type buf.Foo --from=payload.json
Use a module on the bsr:
$ buf convert <buf.build/owner/repository> --type buf.Foo --from=payload.json
Flags
--error-format string
The format for build errors printed to stderr. Must be one of [text,json,msvs,junit]
--from string
The location of the payload to be converted. Supported formats are [bin,json]
-h, --help
help for convert
--to string
The output location of the conversion. Supported formats are [bin,json]
--type string
The full type name of the message within the input (e.g. acme.weather.v1.Units)
Flags inherited from parent commands
--debug
Turn on debug logging
--log-format string
The log format [text,color,json]
--timeout duration
The duration until timing out
-v, --verbose
Turn on verbose mode
Parent Command
- buf - The Buf CLI