Project Name | Stars | Downloads | Repos Using This | Packages Using This | Most Recent Commit | Total Releases | Latest Release | Open Issues | License | Language |
---|---|---|---|---|---|---|---|---|---|---|
Editor.js | 24,339 | 37 | 231 | a day ago | 72 | July 20, 2023 | 534 | apache-2.0 | TypeScript | |
A block-style editor with clean JSON output | ||||||||||
Jsoneditor | 10,586 | 383 | 379 | 10 hours ago | 201 | May 15, 2023 | 221 | apache-2.0 | JavaScript | |
A web-based tool to view, edit, format, and validate JSON | ||||||||||
Json Editor | 5,376 | 141 | 36 | 5 years ago | 19 | August 07, 2016 | 461 | mit | JavaScript | |
JSON Schema Based Editor | ||||||||||
Json Editor | 3,875 | 11 | 16 | 14 days ago | 34 | August 16, 2022 | 190 | mit | JavaScript | |
JSON Schema Based Editor | ||||||||||
Kityminder Editor | 2,967 | 2 | 10 days ago | 11 | February 14, 2019 | 640 | gpl-2.0 | JavaScript | ||
Powerful Mindmap Editing Tool | ||||||||||
Json Splora | 1,766 | 2 | 7 years ago | 11 | December 13, 2016 | 18 | mit | JavaScript | ||
GUI for editing, visualizing, and manipulating JSON data | ||||||||||
Crossui | 1,643 | 12 days ago | mit | JavaScript | ||||||
CrossUI is a free Cross-Browser Javascript framework with cutting-edge functionality for rich web application | ||||||||||
Svelte Jsoneditor | 576 | 13 | 11 hours ago | 26 | November 17, 2022 | 27 | other | TypeScript | ||
A web-based tool to view, edit, format, repair, query, transform, and validate JSON | ||||||||||
Jsonedit | 546 | 5 years ago | 1 | June 03, 2020 | 9 | mit | JavaScript | |||
User friendly, visual JSON editor built as an Angular 1 directive. | ||||||||||
Flexijsoneditor | 534 | 5 years ago | 5 | May 21, 2018 | 18 | other | JavaScript | |||
JSON editor jQuery plugin |
JSON Editor is a web-based tool to view, edit, format, and validate JSON. It has various modes such as a tree editor, a code editor, and a plain text editor. The editor can be used as a component in your own web application. It can be loaded as CommonJS module, AMD module, or as a regular javascript file.
The library was originally developed as core component of the popular web application https://jsoneditoronline.org and has been open sourced since then.
Supported browsers: Chrome, Firefox, Safari, Opera, Edge, Internet Explorer 11.
Cross browser testing for JSONEditor is generously provided by BrowserStack
This library jsoneditor
has a successor: svelte-jsoneditor
. The new editor is not a one-to-one replacement, so there may be reasons to stick with jsoneditor
.
The main differences between the two are described here.
JSONEditor has various modes, with the following features.
with npm (recommended):
npm install jsoneditor
Note that to use JSONEditor in Internet Explorer 11, it is necessary to load a polyfill for
Promise
in your application.
Alternatively, you can use another JavaScript package manager like https://yarnpkg.com/, or a CDN such as https://cdnjs.com/ or https://www.jsdelivr.com/.
Note that in the following example, you'll have to change the urls
jsoneditor/dist/jsoneditor.min.js
andjsoneditor/dist/jsoneditor.min.css
to match the place where you've downloaded the library, or fill in the URL of the CDN you're using.
<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- when using the mode "code", it's important to specify charset utf-8 -->
<meta charset="utf-8">
<link href="jsoneditor/dist/jsoneditor.min.css" rel="stylesheet" type="text/css">
<script src="jsoneditor/dist/jsoneditor.min.js"></script>
</head>
<body>
<div id="jsoneditor" style="width: 400px; height: 400px;"></div>
<script>
// create the editor
const container = document.getElementById("jsoneditor")
const options = {}
const editor = new JSONEditor(container, options)
// set json
const initialJson = {
"Array": [1, 2, 3],
"Boolean": true,
"Null": null,
"Number": 123,
"Object": {"a": "b", "c": "d"},
"String": "Hello World"
}
editor.set(initialJson)
// get json
const updatedJson = editor.get()
</script>
</body>
</html>
The code of the JSON Editor is located in the folder ./src
. To build
jsoneditor:
Install dependencies:
npm install
Build JSON Editor:
npm run build
This will generate the files ./jsoneditor.js
, ./jsoneditor.css
, and
minified versions in the dist of the project.
To automatically build when a source file has changed:
npm start
This will update ./jsoneditor.js
and ./jsoneditor.css
in the dist folder
on every change, but it will NOT update the minified versions as that's
an expensive operation.
Run unit tests:
npm test
Run code linting (JavaScript Standard Style):
npm run lint
The source code of JSONEditor consists of CommonJS modules. JSONEditor can be bundled in a customized way using a module bundler like browserify or webpack. First, install all dependencies of jsoneditor:
npm install
To create a custom bundle of the source code using browserify:
browserify ./index.js -o ./jsoneditor.custom.js -s JSONEditor
The Ace editor, used in mode code
, accounts for about one third of the total
size of the library. To exclude the Ace editor from the bundle:
browserify ./index.js -o ./jsoneditor.custom.js -s JSONEditor -x brace -x brace/mode/json -x brace/ext/searchbox
To minify the generated bundle, use uglifyjs:
uglifyjs ./jsoneditor.custom.js -o ./jsoneditor.custom.min.js -m -c
jsoneditor
is released as open source under the permissive the Apache 2.0 license.
If you are using jsoneditor commercially, there is a social (but no legal) expectation that you help fund its maintenance. Start here.