jsoneditor/README.md

145 lines
3.7 KiB
Markdown
Raw Normal View History

2014-06-01 03:01:30 +08:00
# JSON Editor
https://github.com/josdejong/jsoneditor
http://jsoneditoronline.org/
2012-04-25 15:12:24 +08:00
Website: http://jsoneditoronline.org/
Github: https://github.com/josdejong/jsoneditor
2012-04-25 15:12:24 +08:00
2012-08-21 03:52:36 +08:00
2015-02-28 22:23:19 +08:00
## Description
2012-08-21 03:52:36 +08:00
2014-06-01 03:01:30 +08:00
JSON Editor is a web-based tool to view, edit, and format JSON.
2013-05-26 04:16:53 +08:00
It has various modes such as a tree editor, a code editor, and a plain text
editor.
2012-08-21 03:52:36 +08:00
2013-05-26 04:16:53 +08:00
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.
2012-08-21 03:52:36 +08:00
Supported browsers: Chrome, Firefox, Safari, Opera, Internet Explorer 9+.
<img alt="json editor" src="https://raw.github.com/josdejong/jsoneditor/master/misc/jsoneditor.png">
<img alt="code editor" src="https://raw.github.com/josdejong/jsoneditor/master/misc/codeeditor.png">
2013-02-11 00:30:37 +08:00
2015-02-28 22:23:19 +08:00
## Features
2012-08-21 03:52:36 +08:00
2015-02-28 22:23:19 +08:00
### Tree editor
2012-08-21 03:52:36 +08:00
- Edit, add, move, remove, and duplicate fields and values.
- Change type of values.
2013-02-10 22:17:35 +08:00
- Sort arrays and objects.
2013-05-26 04:16:53 +08:00
- Colorized code.
2012-08-21 03:52:36 +08:00
- Search & highlight text in the treeview.
2012-11-04 22:26:05 +08:00
- Undo and redo all actions.
2013-05-26 04:16:53 +08:00
2015-02-28 22:23:19 +08:00
### Code editor
2013-05-26 04:16:53 +08:00
- Format and compact JSON.
- Colorized code (powered by Ace).
- Inspect JSON (powered by Ace).
2015-02-28 22:23:19 +08:00
### Text editor
2013-05-26 04:16:53 +08:00
- Format and compact JSON.
2012-08-21 03:52:36 +08:00
2015-02-28 22:23:19 +08:00
## Documentation
2014-05-31 03:28:40 +08:00
- Documentation:
- [API](https://github.com/josdejong/jsoneditor/tree/master/docs/api.md)
- [Usage](https://github.com/josdejong/jsoneditor/tree/master/docs/usage.md)
- [Shortcut keys](https://github.com/josdejong/jsoneditor/tree/master/docs/shortcut_keys.md)
- [Examples](https://github.com/josdejong/jsoneditor/tree/master/examples)
- [Source](https://github.com/josdejong/jsoneditor)
- [History](https://github.com/josdejong/jsoneditor/blob/master/HISTORY.md)
2015-02-28 22:23:19 +08:00
## Install
with npm:
npm install jsoneditor
with bower:
2013-06-03 19:01:52 +08:00
bower install jsoneditor
2013-05-04 18:09:14 +08:00
download:
[http://jsoneditoronline.org/downloads/](http://jsoneditoronline.org/downloads/)
2015-02-28 22:23:19 +08:00
## Use
2013-05-04 18:09:14 +08:00
```html
<!DOCTYPE HTML>
<html>
<head>
<link href="jsoneditor/dist/jsoneditor.min.css" rel="stylesheet" type="text/css">
<script src="jsoneditor/dist/jsoneditor.min.js"></script>
2013-05-04 18:09:14 +08:00
</head>
<body>
<div id="jsoneditor" style="width: 400px; height: 400px;"></div>
<script>
2013-05-04 18:09:14 +08:00
// create the editor
var container = document.getElementById("jsoneditor");
var editor = new JSONEditor(container);
2013-05-04 18:09:14 +08:00
// 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>
```
2015-02-28 22:23:19 +08:00
## Build
2013-02-10 22:17:35 +08:00
2014-05-30 16:33:11 +08:00
The code of the JSON Editor is located in the folder `./src`. To build
jsoneditor:
2013-02-10 22:17:35 +08:00
- Install dependencies:
2013-02-10 22:17:35 +08:00
2015-03-18 15:56:54 +08:00
```
npm install
```
2014-05-30 16:33:11 +08:00
- Build JSON Editor:
2015-03-18 15:56:54 +08:00
```
npm run build
```
2014-05-30 16:33:11 +08:00
This will generate the files `./jsoneditor.js`, `./jsoneditor.css`, and
minified versions in the root of the project.
2015-02-28 05:16:05 +08:00
2015-02-28 22:23:19 +08:00
## Custom builds
2015-02-28 05:16:05 +08:00
2015-03-18 15:56:54 +08:00
The source code of JSONEditor consists of CommonJS modules. JSONEditor can be bundled in a customized way using a module bundler like [browserify](http://browserify.org/) or [webpack](http://webpack.github.io/). First, install all dependencies of jsoneditor:
npm install
2015-03-18 15:57:33 +08:00
To create a custom bundle of the source code using browserify:
2015-02-28 05:16:05 +08:00
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
2015-02-28 22:30:26 +08:00
To minify the generated bundle, use [uglifyjs](https://github.com/mishoo/UglifyJS2):
uglifyjs ./jsoneditor.custom.js -o ./jsoneditor.custom.min.js -m -c