MCPcopy
hub / github.com/josdejong/jsoneditor

github.com/josdejong/jsoneditor @v10.4.3 sqlite

repository ↗ · DeepWiki ↗ · release v10.4.3 ↗
387 symbols 1,265 edges 55 files 156 documented · 40%
README

JSON Editor

Version Downloads Maintenance License FOSSA Status

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, Edge.

json editor   code editor

Continuous integration tests are run on GitHub Actions, and LambdaTest is used to test on all major browsers.

LambdaTest

Thanks, GitHub Actions and LambdaTest for the generous support for this open source project!

Successor: svelte-jsoneditor

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.

Features

JSONEditor has various modes, with the following features.

Tree mode

  • Change, add, move, remove, and duplicate fields and values.
  • Sort arrays and objects.
  • Transform JSON using JMESPath queries.
  • Colorized code.
  • Color picker.
  • Search & highlight text in the tree view.
  • Undo and redo all actions.
  • JSON schema validation (powered by ajv).

Code mode

  • Colorized code (powered by Ace).
  • Inspect JSON (powered by Ace).
  • Format and compact JSON.
  • Repair JSON.
  • JSON schema validation (powered by ajv).

Text mode

  • Format and compact JSON.
  • Repair JSON.
  • JSON schema validation (powered by ajv).

Preview mode

  • Handle large JSON documents up to 500 MiB.
  • Transform JSON using JMESPath queries.
  • Format and compact JSON.
  • Repair JSON.
  • JSON schema validation (powered by ajv).

Documentation

Install

with npm (recommended):

npm install jsoneditor

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/.

Use

Note that in the following example, you'll have to change the urls jsoneditor/dist/jsoneditor.min.js and jsoneditor/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>

    <meta charset="utf-8">

    <link href="https://github.com/josdejong/jsoneditor/raw/v10.4.3/jsoneditor/dist/jsoneditor.min.css" rel="stylesheet" type="text/css">
    <script src="https://github.com/josdejong/jsoneditor/raw/v10.4.3/jsoneditor/dist/jsoneditor.min.js"></script>
</head>
<body>






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

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 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.

Test

Run unit tests:

npm test

Run code linting (JavaScript Standard Style):

npm run lint

License

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.

Core symbols most depended-on inside this repo

appendChild
called by 217
src/js/Node.js
translate
called by 130
src/js/i18n.js
focus
called by 66
src/js/Node.js
removeChild
called by 43
src/js/Node.js
getInternalPath
called by 41
src/js/Node.js
parseString
called by 37
src/js/util.js
getIndex
called by 30
src/js/Node.js
addClassName
called by 27
src/js/util.js

Shape

Method 210
Function 148
Class 29

Languages

TypeScript100%

Modules by API surface

src/js/Node.js127 symbols
src/js/util.js66 symbols
src/js/assets/selectr/selectr.js16 symbols
src/js/SchemaTextCompleter.js16 symbols
src/js/autocomplete.js15 symbols
src/js/SearchBox.js15 symbols
src/js/NodeHistory.js12 symbols
src/js/TreePath.js10 symbols
src/js/History.js10 symbols
src/js/ErrorTable.js9 symbols
src/js/ContextMenu.js9 symbols
src/js/jsonUtils.js8 symbols

Dependencies from manifests, versioned

@babel/core7.29.0 · 1×
@babel/preset-env7.29.2 · 1×
@babel/register7.28.6 · 1×
ace-builds1.36.2 · 1×
ajv6.12.6 · 1×
babel-loader10.1.1 · 1×
btoa1.2.1 · 1×
date-format4.0.14 · 1×
fancy-log2.0.0 · 1×
gulp5.0.1 · 1×
gulp-clean-css4.3.0 · 1×
gulp-concat-css3.1.0 · 1×

For agents

$ claude mcp add jsoneditor \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact