JSON Schema $Ref Parser
Parse, Resolve, and Dereference JSON Schema $ref pointers
You've got a JSON Schema with
$ref pointers to other files and/or URLs. Maybe you know all the referenced files ahead of time. Maybe you don't. Maybe some are local files, and others are remote URLs. Maybe they are a mix of JSON and YAML format. Maybe some of the files contain cross-references to each other.
"definitions":"person":// references an external file"$ref": "schemas/people/Bruce-Wayne.json""place":// references a sub-schema in an external file"$ref": "schemas/places.yaml#/definitions/Gotham-City""thing":// references a URL"$ref": """color":// references a value in an external file via an internal reference"$ref": "#/definitions/thing/properties/colors/black-as-the-night"
- Use JSON or YAML schemas — or even a mix of both!
$refpointers to external files and URLs, as well as custom sources such as databases
- Can bundle multiple files into a single schema that only has internal
- Supports circular references, nested references, back-references, and cross-references between files
- Maintains object reference equality —
$refpointers to the same value always resolve to the same object instance
- Tested in Node, io.js, and all major web browsers on Windows, Mac, and Linux
Or use Promises syntax instead. The following example is the same as above:
For more detailed examples, please see the API Documentation
Install using npm:
npm install json-schema-ref-parser
Then require it in your code:
var $RefParser = ;
Full API documentation is available right here
To build/test the project locally on your computer:
Clone this repo
git clone https://github.com/APIDevTools/json-schema-ref-parser.git
Run the build script
npm run build
Run the tests
Start the local web server
npm start(then browse to http://localhost:8080/test/)
JSON Schema $Ref Parser is 100% free and open-source, under the MIT license. Use it however you want.