A web-based tool to view, edit, format, and validate JSON with multiple editor modes.
JSON Editor is a web-based library that provides tools to view, edit, format, and validate JSON data. It offers multiple editor modes including a tree editor, code editor, text editor, and preview mode to handle different use cases from interactive editing to large document processing. It solves the problem of needing a flexible, embeddable JSON editing solution for web applications.
Web developers and application builders who need to integrate JSON editing, validation, or visualization features into their projects, such as admin panels, configuration tools, or data management interfaces.
Developers choose JSON Editor for its versatility with multiple editing modes, robust validation via JSON Schema, and ease of integration as a component. Its origin as the core of JSON Editor Online ensures it's battle-tested for real-world JSON manipulation tasks.
A web-based tool to view, edit, format, and validate JSON
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Offers tree, code, text, and preview modes, allowing users to switch between interactive and raw editing based on preference, as detailed in the Features section.
Preview mode handles JSON documents up to 500 MiB, enabling efficient work with massive datasets without browser crashes, specified in the Key Features.
Integrates Ajv library for validation across all modes, ensuring data integrity and compliance with defined schemas, as highlighted in the documentation.
Includes drag-and-drop, undo/redo, and JMESPath query support in tree mode, making complex edits intuitive and reversible.
The project has a successor, svelte-jsoneditor, indicating potential reduced maintenance and fewer future updates for this version, as noted in the README.
Relies on external libraries like Ace for code mode syntax highlighting, which can significantly increase bundle size for web applications.
As a vanilla JS library, it requires extra configuration or wrappers for seamless use with frameworks like React or Vue, adding setup complexity.