protoc-gen-jsonschema

command module
v0.0.5 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 24, 2020 License: Apache-2.0 Imports: 14 Imported by: 0

README

Protobuf to JSON-Schema compiler

This takes protobuf definitions and converts them into JSONSchemas, which can be used to dynamically validate JSON messages.

This will hopefully be useful for people who define their data using ProtoBuf, but use JSON for the "wire" format.

"Heavily influenced" by Google's protobuf-to-BigQuery-schema compiler.

Usage

  • Allow NULL values (by default, JSONSchemas will reject NULL values unless we explicitly allow them): protoc --jsonschema_out=allow_null_values:. --proto_path=testdata/proto testdata/proto/ArrayOfPrimitives.proto
  • Disallow additional properties (JSONSchemas won't validate JSON containing extra parameters): protoc --jsonschema_out=disallow_additional_properties:. --proto_path=testdata/proto testdata/proto/ArrayOfPrimitives.proto
  • Disallow permissive validation of big-integers as strings (eg scientific notation): protoc --jsonschema_out=disallow_bigints_as_strings:. --proto_path=testdata/proto testdata/proto/ArrayOfPrimitives.proto
  • Enable debug logging: protoc --jsonschema_out=debug:. --proto_path=testdata/proto testdata/proto/ArrayOfPrimitives.proto

Sample protos (for testing)

Documentation

Overview

protoc plugin which converts .proto to JSON schema It is spawned by protoc and generates JSON-schema files. "Heavily influenced" by Google's "protog-gen-bq-schema"

usage:

$ bin/protoc --jsonschema_out=path/to/outdir foo.proto

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL