Skip to content

Latest commit

 

History

History
127 lines (83 loc) · 2.11 KB

README.md

File metadata and controls

127 lines (83 loc) · 2.11 KB

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" }
  }
}