Skip to content

A tool that converts any JSON structure to a valid JSON Schema object.

License

Notifications You must be signed in to change notification settings

tgreyuk/json-schemify

Repository files navigation

json-schemify

json-schemify

Converts any JSON structure to a valid JSON Schema object.

npm CI

Getting started

Installation

npm install json-schemify --save-dev

Usage

const { writeSchema } = require('json-schemify');

API

writeSchema

writeSchema(json, filepath, options)

Writes to a JSON schema output file.

const json= {
  firstName: 'John',
  lastName: 'Doe',
  age: 21,
}

writeSchema(json, 'schema.json');

Params

json

Any valid JSON.

filepath

The filepath of the file to write.

options
Option Description
id? The $id property of the schema
title? The title property of the schema
prettyPrint? Pretty print Json output

schemify

schemify(json, options)

Returns the JSON schema object (rather than writing to file).

const json= {
  firstName: 'John',
  lastName: 'Doe',
  age: 21,
}

const schema = schemify(json);

// do something with schema
console.log(schema);

Params

json

Any valid JSON.

options
Option Description
id? The $id property of the schema
title? The title property of the schema

Returns

A valid JSON Schema Object (draft-07)

Example

This example returns a basic schema.

Json

{
  firstName: 'John',
  lastName: 'Doe',
  age: 21,
};

Result

{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "firstName": { "type": "string" },
    "lastName": { "type": "string" },
    "age": { "type": "integer" }
  }
}

About

A tool that converts any JSON structure to a valid JSON Schema object.

Topics

Resources

License

Stars

Watchers

Forks