A web-based tool to view, edit, format, and validate JSON
Go to file
jos 7eb0803185 Fixed #130: option `onEditable` not available in mode `form` 2015-12-31 14:22:27 +01:00
dist Released version 5.0.0 2015-12-31 13:38:43 +01:00
docs Implemented keyboard shortcuts to select multiple fields 2015-12-30 20:29:45 +01:00
examples Updated darktheme example 2015-12-31 13:35:10 +01:00
misc Updated screenshots 2015-12-31 14:11:58 +01:00
src Fixed #130: option `onEditable` not available in mode `form` 2015-12-31 14:22:27 +01:00
test Fixed dragging multiple nodes horizontally 2015-12-30 17:26:39 +01:00
.gitignore Fixed #163: updated npm dependencies 2015-02-10 22:14:45 +01:00
.npmignore Include gulpfile in npm package 2015-12-28 12:16:38 +01:00
CONTRIBUTING.md Fixed #244: updated CONTRIBUTING file 2015-12-21 13:09:41 +01:00
HISTORY.md Fixed #130: option `onEditable` not available in mode `form` 2015-12-31 14:22:27 +01:00
LICENSE first commit 2012-04-21 13:28:28 +02:00
NOTICE Released version 3.2.0 2015-01-25 15:11:56 +01:00
README.md Removed broken download link from readme, added license information to package.json 2015-12-28 12:13:35 +01:00
bower.json Released version 5.0.0 2015-12-31 13:38:43 +01:00
gulpfile.js Use SVG for icons 2015-12-11 22:35:57 -05:00
index.js Using brace to load Ace. Ace and jsonlint are now packed by default with JSONEditor. Removed all redundant build stuff for the assets. 2015-02-27 21:54:04 +01:00
package.json Released version 5.0.0 2015-12-31 13:38:43 +01:00

README.md

JSON Editor

Website: http://jsoneditoronline.org/

Github: https://github.com/josdejong/jsoneditor

Description

JSON Editor is a web-based tool to view, edit, and format 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. The library can be loaded as CommonJS module, AMD module, or as a regular javascript file.

Supported browsers: Chrome, Firefox, Safari, Opera, Internet Explorer 9+.

json editor code editor

Features

Tree editor

  • Edit, add, move, remove, and duplicate fields and values.
  • Change type of values.
  • Sort arrays and objects.
  • Colorized code.
  • Search & highlight text in the treeview.
  • Undo and redo all actions.

Code editor

  • Format and compact JSON.
  • Colorized code (powered by Ace).
  • Inspect JSON (powered by Ace).

Text editor

  • Format and compact JSON.

Documentation

Install

with npm (recommended):

npm install jsoneditor

with bower:

bower install jsoneditor

More

There is a directive available for using JSONEditor in Angular.js:

https://github.com/angular-tools/ng-jsoneditor

Use

<!DOCTYPE HTML>
<html>
<head>
    <!-- when using the mode "code", it's important to specify charset utf-8 -->
    <meta http-equiv="Content-Type" content="text/html;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
        var container = document.getElementById("jsoneditor");
        var editor = new JSONEditor(container);

        // set json
        var json = {
            "Array": [1, 2, 3],
            "Boolean": true,
            "Null": null,
            "Number": 123,
            "Object": {"a": "b", "c": "d"},
            "String": "Hello World"
        };
        editor.set(json);

        // get json
        var json = editor.get();
    </script>
</body>
</html>

Build

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 root of the project.

Custom builds

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 75% 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