KEMBAR78
JSON, JSON Schema, and OpenAPI | PDF
JSON, JSON Schema,
and OpenAPI
© 2022 Syncro Soft SRL. All rights reserved.
Octavian Nadolu, Syncro Soft
octavian.nadolu@oxygenxml.com
@OctavianNadolu
JSON, JSON Schema, OpenAPI
Agenda
● Smart editing of JSON documents based on
JSON Schema
● JSON Schema editing in Design mode
● Specialized JSON Tools
● OpenAPI, AsyncAPI, JSON-LD support
JSON, JSON Schema, OpenAPI
JSON
(JavaScript Object Notation)
● Data representation format
● Used for API and Configs
● Lightweight and easy to read/write
http://json.org
JSON, JSON Schema, OpenAPI
JSON Schema
JSON Schema is a vocabulary that allows you to
annotate and validate JSON documents
http://json-schema.org
JSON, JSON Schema, OpenAPI
JSON and JSON Schema Support in Oxygen
● Edit JSON based on JSON Schema
● Validate JSON against JSON Schema
● JSON Schema Editor - specialized editor with various editing features
● Tools
– Generate JSON Schema Documentation
– Generate Sample JSON Files from a JSON Schema
– Generate JSON Schema from a JSON File
– XSD to JSON Schema Converter
JSON, JSON Schema, OpenAPI
Editing JSON
● JSON Text, Grid, Author Editing Mode
● JSON Outline View
● Validation and Content Completion
Assistant based on JSON Schema
JSON, JSON Schema, OpenAPI
Text Editing Mode
● Syntax Highlights
● Structure Folding
● Format and Indent
● New Document Templates
JSON, JSON Schema, OpenAPI
JSON Outline View
● Document Overview
● Synchronization with Editor
● Filtering
● Error Markers
JSON, JSON Schema, OpenAPI
Content Completion
● Context-Sensitive
● Valid Proposals
● Documentation from Schema
● Code Templates
JSON, JSON Schema, OpenAPI
Grid Editing Mode
● JSON content is represented in Grid
mode
● JSON data and structure can be easily
manipulated
● Table-specific operations or drag-and-
drop operations
JSON, JSON Schema, OpenAPI
JSON Visual Author Editing Mode
● JSON document is opened in Author
mode
● Create your own JSON framework
● Customize using CSS
JSON, JSON Schema, OpenAPI
JSON Schema Editor
Design, develop, and edit JSON Schemas in:
● Text Editing Mode
● Author Editing Mode
● Schema Design Mode
JSON, JSON Schema, OpenAPI
Text Editing Mode
Text editing mode is packed full of
editing helpers
● JSON Outline View
● JSON-specific Syntax Highlighting
● Search and Find/Replace
● Drag and Drop
● Validation
● Format and Indent (Pretty Print)
JSON, JSON Schema, OpenAPI
Author Editing Mode
Visual editing mode for JSON
Schema documents:
● JSON Schema framework
● Content completion support
● Validation
● Specific CSS for rendering
● Create your own custom JSON
framework
JSON, JSON Schema, OpenAPI
Schema Design Mode
Visualize, edit, and understand JSON Schemas
● In-Place Component Editing
● Edit Properties
● Edit Annotations
● Schema Editing Actions
● Move Component Up/Down Actions
● Print/Save as Image
JSON, JSON Schema, OpenAPI
JSON Tools
● Convert between JSON and XML
● Convert between JSON and YAML
● Generate sample JSON files from JSON
Schema
● Generate JSON Schema from a JSON
instance
● XSD to JSON Schema converter
● JSON Schema documentation
JSON, JSON Schema, OpenAPI
Instance generator from a JSON Schema
● Tool for generating sample JSON files from a JSON Schema
oxygenxml.com/doc/ug-editor/topics/json-instance-generator.html
JSON, JSON Schema, OpenAPI
Generate JSON Schema from JSON
● Tool for generating JSON Schema
oxygenxml.com/doc/ug-editor/topics/json-schema-instance-generator.html
JSON, JSON Schema, OpenAPI
XSD to JSON Schema converter
● Tool for converting an XML Schema file (XSD) to a JSON Schema
oxygenxml.com/doc/ug-editor/topics/xsd-to-json-schema-converter-x.html
JSON, JSON Schema, OpenAPI
Generate JSON Schema Documentation
● Tool for generating detailed documentation for a JSON Schema file in
HTML format
JSON, JSON Schema, OpenAPI
JSON Schema Documentation
● Generate documentation in one file
or split into multiple files
● Option to include components details
● Display the diagram image for each
component
JSON, JSON Schema, OpenAPI
OpenAPI Specification(OAS)
● Is a format for describing and documenting
APIs
● Allows both humans and computers to
discover and understand the capabilities of a
service
www.openapis.org
JSON, JSON Schema, OpenAPI
OpenAPI Documents
● Can be written in JSON or YAML
● Describes the inputs and outputs of an API
● Include information such as:
– where the API is hosted
– what authorization is required to access it
– details for consumers and producers
JSON, JSON Schema, OpenAPI
OpenAPI Editor
● Syntax highlights
● Validation conforms with the schema
● Content completion based on the
schema
● Outline view
● Search and replace
JSON, JSON Schema, OpenAPI
OpenAPI Visual Editor
● Edit documentation
● Form controls to change values
● Collapsible sections
● Customize interface with CSS
JSON, JSON Schema, OpenAPI
OpenAPI Documentation
● Tool for generating detailed documentation for a OpenAPI documents in HTML
format
JSON, JSON Schema, OpenAPI
OpenAPI Tester Tool
● GUI interface testing tool for OpenAPI files
● Execute API requests and validate responses
on the fly
● OpenAPI files in JSON or YAML format
JSON, JSON Schema, OpenAPI
Other APIs
● AsyncAPI - defines the interfaces of asynchronous APIs
● JSON-LD - is a lightweight Linked Data format
JSON, JSON Schema, OpenAPI
Conclusion
● Edit and validate JSON documents
● Edit/Design JSON Schema documents
● JSON/JSON Schema Tools
● Edit, validate, generate documentation,
and test OpenAPI
JSON, JSON Schema, OpenAPI
Future Plans
● Search and Refactor in JSON Diagram
● Better JSON Schema Documentation
● Quick fixes for JSON problems
● Improve OpenAPI support
● Content completion in YAML
JSON, JSON Schema, OpenAPI
Resources
● oxygenxml.com/json.html
● oxygenxml.com/openapi.html
● oxygenxml.com/doc/ug-editor/topics/editing-JSON.html
● oxygenxml.com/doc/ug-editor/topics/json-tools.html
● https://www.json.org
● https://json-schema.org/
● https://www.openapis.org
● https://www.asyncapi.com
● w3.org/TR/json-ld11/
JSON, JSON Schema, OpenAPI
Video Demos
● oxygenxml.com/demo/json_schema_palette.html
● oxygenxml.com/demo/introducing_the_json_schema_design.html
● oxygenxml.com/demo/json_author.html
● oxygenxml.com/demo/json_tools.html
● oxygenxml.com/demo/json_validation.html
● oxygenxml.com/demo/json_editing.html
● oxygenxml.com/demo/json_query.html
Questions?
Octavian Nadolu
Product Manager at Syncro Soft
octavian.nadolu@oxygenxml.com
Twitter: @OctavianNadolu
LinkedIn: octaviannadolu

JSON, JSON Schema, and OpenAPI

  • 1.
    JSON, JSON Schema, andOpenAPI © 2022 Syncro Soft SRL. All rights reserved. Octavian Nadolu, Syncro Soft octavian.nadolu@oxygenxml.com @OctavianNadolu
  • 2.
    JSON, JSON Schema,OpenAPI Agenda ● Smart editing of JSON documents based on JSON Schema ● JSON Schema editing in Design mode ● Specialized JSON Tools ● OpenAPI, AsyncAPI, JSON-LD support
  • 3.
    JSON, JSON Schema,OpenAPI JSON (JavaScript Object Notation) ● Data representation format ● Used for API and Configs ● Lightweight and easy to read/write http://json.org
  • 4.
    JSON, JSON Schema,OpenAPI JSON Schema JSON Schema is a vocabulary that allows you to annotate and validate JSON documents http://json-schema.org
  • 5.
    JSON, JSON Schema,OpenAPI JSON and JSON Schema Support in Oxygen ● Edit JSON based on JSON Schema ● Validate JSON against JSON Schema ● JSON Schema Editor - specialized editor with various editing features ● Tools – Generate JSON Schema Documentation – Generate Sample JSON Files from a JSON Schema – Generate JSON Schema from a JSON File – XSD to JSON Schema Converter
  • 6.
    JSON, JSON Schema,OpenAPI Editing JSON ● JSON Text, Grid, Author Editing Mode ● JSON Outline View ● Validation and Content Completion Assistant based on JSON Schema
  • 7.
    JSON, JSON Schema,OpenAPI Text Editing Mode ● Syntax Highlights ● Structure Folding ● Format and Indent ● New Document Templates
  • 8.
    JSON, JSON Schema,OpenAPI JSON Outline View ● Document Overview ● Synchronization with Editor ● Filtering ● Error Markers
  • 9.
    JSON, JSON Schema,OpenAPI Content Completion ● Context-Sensitive ● Valid Proposals ● Documentation from Schema ● Code Templates
  • 10.
    JSON, JSON Schema,OpenAPI Grid Editing Mode ● JSON content is represented in Grid mode ● JSON data and structure can be easily manipulated ● Table-specific operations or drag-and- drop operations
  • 11.
    JSON, JSON Schema,OpenAPI JSON Visual Author Editing Mode ● JSON document is opened in Author mode ● Create your own JSON framework ● Customize using CSS
  • 12.
    JSON, JSON Schema,OpenAPI JSON Schema Editor Design, develop, and edit JSON Schemas in: ● Text Editing Mode ● Author Editing Mode ● Schema Design Mode
  • 13.
    JSON, JSON Schema,OpenAPI Text Editing Mode Text editing mode is packed full of editing helpers ● JSON Outline View ● JSON-specific Syntax Highlighting ● Search and Find/Replace ● Drag and Drop ● Validation ● Format and Indent (Pretty Print)
  • 14.
    JSON, JSON Schema,OpenAPI Author Editing Mode Visual editing mode for JSON Schema documents: ● JSON Schema framework ● Content completion support ● Validation ● Specific CSS for rendering ● Create your own custom JSON framework
  • 15.
    JSON, JSON Schema,OpenAPI Schema Design Mode Visualize, edit, and understand JSON Schemas ● In-Place Component Editing ● Edit Properties ● Edit Annotations ● Schema Editing Actions ● Move Component Up/Down Actions ● Print/Save as Image
  • 16.
    JSON, JSON Schema,OpenAPI JSON Tools ● Convert between JSON and XML ● Convert between JSON and YAML ● Generate sample JSON files from JSON Schema ● Generate JSON Schema from a JSON instance ● XSD to JSON Schema converter ● JSON Schema documentation
  • 17.
    JSON, JSON Schema,OpenAPI Instance generator from a JSON Schema ● Tool for generating sample JSON files from a JSON Schema oxygenxml.com/doc/ug-editor/topics/json-instance-generator.html
  • 18.
    JSON, JSON Schema,OpenAPI Generate JSON Schema from JSON ● Tool for generating JSON Schema oxygenxml.com/doc/ug-editor/topics/json-schema-instance-generator.html
  • 19.
    JSON, JSON Schema,OpenAPI XSD to JSON Schema converter ● Tool for converting an XML Schema file (XSD) to a JSON Schema oxygenxml.com/doc/ug-editor/topics/xsd-to-json-schema-converter-x.html
  • 20.
    JSON, JSON Schema,OpenAPI Generate JSON Schema Documentation ● Tool for generating detailed documentation for a JSON Schema file in HTML format
  • 21.
    JSON, JSON Schema,OpenAPI JSON Schema Documentation ● Generate documentation in one file or split into multiple files ● Option to include components details ● Display the diagram image for each component
  • 22.
    JSON, JSON Schema,OpenAPI OpenAPI Specification(OAS) ● Is a format for describing and documenting APIs ● Allows both humans and computers to discover and understand the capabilities of a service www.openapis.org
  • 23.
    JSON, JSON Schema,OpenAPI OpenAPI Documents ● Can be written in JSON or YAML ● Describes the inputs and outputs of an API ● Include information such as: – where the API is hosted – what authorization is required to access it – details for consumers and producers
  • 24.
    JSON, JSON Schema,OpenAPI OpenAPI Editor ● Syntax highlights ● Validation conforms with the schema ● Content completion based on the schema ● Outline view ● Search and replace
  • 25.
    JSON, JSON Schema,OpenAPI OpenAPI Visual Editor ● Edit documentation ● Form controls to change values ● Collapsible sections ● Customize interface with CSS
  • 26.
    JSON, JSON Schema,OpenAPI OpenAPI Documentation ● Tool for generating detailed documentation for a OpenAPI documents in HTML format
  • 27.
    JSON, JSON Schema,OpenAPI OpenAPI Tester Tool ● GUI interface testing tool for OpenAPI files ● Execute API requests and validate responses on the fly ● OpenAPI files in JSON or YAML format
  • 28.
    JSON, JSON Schema,OpenAPI Other APIs ● AsyncAPI - defines the interfaces of asynchronous APIs ● JSON-LD - is a lightweight Linked Data format
  • 29.
    JSON, JSON Schema,OpenAPI Conclusion ● Edit and validate JSON documents ● Edit/Design JSON Schema documents ● JSON/JSON Schema Tools ● Edit, validate, generate documentation, and test OpenAPI
  • 30.
    JSON, JSON Schema,OpenAPI Future Plans ● Search and Refactor in JSON Diagram ● Better JSON Schema Documentation ● Quick fixes for JSON problems ● Improve OpenAPI support ● Content completion in YAML
  • 31.
    JSON, JSON Schema,OpenAPI Resources ● oxygenxml.com/json.html ● oxygenxml.com/openapi.html ● oxygenxml.com/doc/ug-editor/topics/editing-JSON.html ● oxygenxml.com/doc/ug-editor/topics/json-tools.html ● https://www.json.org ● https://json-schema.org/ ● https://www.openapis.org ● https://www.asyncapi.com ● w3.org/TR/json-ld11/
  • 32.
    JSON, JSON Schema,OpenAPI Video Demos ● oxygenxml.com/demo/json_schema_palette.html ● oxygenxml.com/demo/introducing_the_json_schema_design.html ● oxygenxml.com/demo/json_author.html ● oxygenxml.com/demo/json_tools.html ● oxygenxml.com/demo/json_validation.html ● oxygenxml.com/demo/json_editing.html ● oxygenxml.com/demo/json_query.html
  • 33.
    Questions? Octavian Nadolu Product Managerat Syncro Soft octavian.nadolu@oxygenxml.com Twitter: @OctavianNadolu LinkedIn: octaviannadolu