All Projects → mcuadros → Go Jsonschema Generator

mcuadros / Go Jsonschema Generator

Licence: mit
json-schemas generator based on Go types

Programming Languages

go
31211 projects - #10 most used programming language

Projects that are alternatives of or similar to Go Jsonschema Generator

Play Json Schema Validator
JSON Schema Validation with Play JSON
Stars: ✭ 68 (-38.18%)
Mutual labels:  json-schema
Python Lambdarest
Flask like web framework for AWS Lambda
Stars: ✭ 84 (-23.64%)
Mutual labels:  json-schema
Laravel Json Schema
Create all your migrations and models from one JSON schema file.
Stars: ✭ 101 (-8.18%)
Mutual labels:  json-schema
Target Postgres
A Singer.io Target for Postgres
Stars: ✭ 70 (-36.36%)
Mutual labels:  json-schema
Schematic
type-safe JSON spec and validation tool
Stars: ✭ 81 (-26.36%)
Mutual labels:  json-schema
Graphql To Json Schema
GraphQL Schema to JSON Schema
Stars: ✭ 87 (-20.91%)
Mutual labels:  json-schema
Schemasafe
A reasonably safe JSON Schema validator with draft-04/06/07/2019-09 support.
Stars: ✭ 67 (-39.09%)
Mutual labels:  json-schema
Beerjson
Development repository for the BeerJSON format standard
Stars: ✭ 109 (-0.91%)
Mutual labels:  json-schema
Ajv
The fastest JSON schema Validator. Supports JSON Schema draft-04/06/07/2019-09/2020-12 and JSON Type Definition (RFC8927)
Stars: ✭ 10,340 (+9300%)
Mutual labels:  json-schema
Ajv I18n
Internationalised error messages for Ajv JSON-Schema validator
Stars: ✭ 98 (-10.91%)
Mutual labels:  json-schema
Json Schema Traverse
Traverse JSON Schema passing each schema object to callback
Stars: ✭ 71 (-35.45%)
Mutual labels:  json-schema
Docless
A scala DSL to generate JSON schema and swagger documentation for your web services.
Stars: ✭ 78 (-29.09%)
Mutual labels:  json-schema
Jesse
jesse (JSon Schema Erlang) is an implementation of a JSON Schema validator for Erlang.
Stars: ✭ 92 (-16.36%)
Mutual labels:  json-schema
Avocado
Strongly-typed MongoDB driver for Rust
Stars: ✭ 70 (-36.36%)
Mutual labels:  json-schema
Json Node Normalizer
'json-node-normalizer' - NodeJS module that normalize json data types from json schema specifications.
Stars: ✭ 105 (-4.55%)
Mutual labels:  json-schema
Scala Jsonschema
Scala JSON Schema
Stars: ✭ 68 (-38.18%)
Mutual labels:  json-schema
Understanding Json Schema
A website aiming to provide more accessible documentation for JSON schema.
Stars: ✭ 1,268 (+1052.73%)
Mutual labels:  json-schema
Schema Registry
Confluent Schema Registry for Kafka
Stars: ✭ 1,647 (+1397.27%)
Mutual labels:  json-schema
React Jsonschema Form
A React component for building Web forms from JSON Schema.
Stars: ✭ 10,870 (+9781.82%)
Mutual labels:  json-schema
React Jsonschema Form Material Ui
📜 React - Material UI components for building Web forms from JSON Schema.
Stars: ✭ 95 (-13.64%)
Mutual labels:  json-schema

go-jsonschema-generator Build Status GoDoc

Basic json-schema generator based on Go types, for easy interchange of Go structures across languages.

Installation

The recommended way to install go-jsonschema-generator

go get github.com/mcuadros/go-jsonschema-generator

Examples

A basic example:

package main

import (
  "fmt"
  "github.com/mcuadros/go-jsonschema-generator"
)

type EmbeddedType struct {
  Zoo string
}

type Item struct {
  Value string
}

type ExampleBasic struct {
  Foo bool   `json:"foo"`
  Bar string `json:",omitempty"`
  Qux int8
  Baz []string
  EmbeddedType
  List []Item
}

func main() {
  s := &jsonschema.Document{}
  s.Read(&ExampleBasic{})
  fmt.Println(s)
}
{
    "$schema": "http://json-schema.org/schema#",
    "type": "object",
    "properties": {
        "Bar": {
            "type": "string"
        },
        "Baz": {
            "type": "array",
            "items": {
                "type": "string"
            }
        },
        "List": {
            "type": "array",
            "items": {
                "type": "object",
                "properties": {
                    "Value": {
                        "type": "string"
                    }
                },
                "required": [
                    "Value"
                ]
            }
        },
        "Qux": {
            "type": "integer"
        },
        "Zoo": {
            "type": "string"
        },
        "foo": {
            "type": "boolean"
        }
    },
    "required": [
        "foo",
        "Qux",
        "Baz",
        "Zoo",
        "List"
    ]
}

License

MIT, see LICENSE

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].