Git Product home page Git Product logo

json2ajv's Introduction

json2ajv

Summary

Static website.

What it does

Converts JSON to Ajv compatible schema for Postman.

Supported data types

  • null
  • object
  • array
  • string
  • number (float)
  • integer
  • boolean

Nesting

Supports nested arrays and/or objects.

Limitations

Enum is not supported; only the first item in the array is processed.

Sample

Input

{
    "books": [
        {
            "id": 0,
            "title": "Le Cat",
            "is_published": true,
            "price": 13.37,
            "genre": null,
            "sellers": [
                "FOX BOOKS",
                "The Shop Around the Corner",
                "Flourish and Blotts"
            ],
            "isbn": {
                "prefix": 978,
                "language_code": 1,
                "publisher_id": 56619,
                "title_info": 909,
                "check": 4
            },
            "comments": []
        }
    ],
    "authors": [
        "Edgar Allan Poe",
        "Jack London",
        "J. K. Rowling"
    ]
}

Output

var schema = {
    type: "object",
    properties: {
        books: {
            type: "array",
            items: {
                type: "object",
                properties: {
                    id: {
                        type: "integer"
                    },
                    title: {
                        type: "string"
                    },
                    is_published: {
                        type: "boolean"
                    },
                    price: {
                        type: "number"
                    },
                    genre: {
                        type: "null"
                    },
                    sellers: {
                        type: "array",
                        items: {
                            type: "string"
                        }
                    },
                    isbn: {
                        type: "object",
                        properties: {
                            prefix: {
                                type: "integer"
                            },
                            language_code: {
                                type: "integer"
                            },
                            publisher_id: {
                                type: "integer"
                            },
                            title_info: {
                                type: "integer"
                            },
                            check: {
                                type: "integer"
                            }
                        },
                        required: [
                            "prefix",
                            "language_code",
                            "publisher_id",
                            "title_info",
                            "check"
                        ]
                    },
                    comments: {
                        type: "array",
                        items: {}
                    }
                },
                required: [
                    "id",
                    "title",
                    "is_published",
                    "price",
                    "genre",
                    "sellers",
                    "isbn",
                    "comments"
                ]
            }
        },
        authors: {
            type: "array",
            items: {
                type: "string"
            }
        }
    },
    required: [
        "books",
        "authors"
    ]
};

How to install

Not required (portable).

Changelog

version 1 (2022.02.06)

  • Initial commit

json2ajv's People

Contributors

s0nought avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.