go-jsonschema
A tool that generates Go data types and unmarshalling code directly from JSON Schema definitions, validating input JSON against the schema's rules as it decodes.
go-jsonschema generates Go structs and types from JSON Schema definitions, along with unmarshalling code that validates incoming JSON against the schema's validation rules as it decodes. It can generate code for multiple schemas in a single run, writing each to a different file and package, and resolves cross-references between schemas by importing the generated package that defines them.
It provides custom serializable date and time types for values that Go's standard library cannot represent natively, and its test suite includes golden files that can be regenerated when a change affects the generated output.
It installs from source with Go, or through Homebrew, and is written in Go under the MIT license.