项目作者: summerstyle

项目描述 :
json formatter/viewer/pretty-printer (with jsonTree javascript-library)
高级语言: JavaScript
项目地址: git://github.com/summerstyle/jsonTreeViewer.git
创建时间: 2014-05-02T08:20:16Z
项目社区:https://github.com/summerstyle/jsonTreeViewer

开源协议:MIT License

下载


jsonTreeViewer and jsonTree library

The library and the viewer released under the MIT license (LICENSE.txt).

jsonTreeViewer

A simple json formatter/viewer based on jsonTree library and app.js framework.

Clone with submodules (including App.js library):

  1. git clone --recursive https://github.com/summerstyle/jsonTreeViewer.git

Online: http://summerstyle.github.io/jsonTreeViewer

  1. Load json: click on “load” button and load a json-string to opened form
  2. Expand/collapse single nodes by click on label (recursively - by click with pressed CTRL/META key)
  3. Expand/collapse all tree nodes by click on “expand all” and “collapse all” buttons
  4. Mark/unmark node labels by click on label with pressed ALT key
  5. Show JSONPath of node by click on label with pressed SHIFT key

jsonTree library (JSON pretty-printer)

A simple lightweight pure-javascript library for drawing tree of json-nodes from json-object.
You can get json-object from json-string by JSON.parse(str) method.

Demo: http://summerstyle.github.io/jsonTreeViewer

The library includes only 2 files - libs/jsonTree/jsonTree.js (18 KB)
and libs/jsonTree/jsonTree.css (2 KB).

How to use:

html:

  1. <link href="libs/jsonTree/jsonTree.css" rel="stylesheet" />
  2. <script src="libs/jsonTree/jsonTree.js"></script>

javascript:

  1. // Get DOM-element for inserting json-tree
  2. var wrapper = document.getElementById("wrapper");
  3. // Get json-data by javascript-object
  4. var data = {
  5. "firstName": "Jonh",
  6. "lastName": "Smith",
  7. "phones": [
  8. "123-45-67",
  9. "987-65-43"
  10. ]
  11. };
  12. // or from a string by JSON.parse(str) method
  13. var dataStr = '{ "firstName": "Jonh", "lastName": "Smith", "phones": ["123-45-67", "987-65-43"]}';
  14. try {
  15. var data = JSON.parse(dataStr);
  16. } catch (e) {}
  17. // Create json-tree
  18. var tree = jsonTree.create(data, wrapper);
  19. // Expand all (or selected) child nodes of root (optional)
  20. tree.expand(function(node) {
  21. return node.childNodes.length < 2 || node.label === 'phoneNumbers';
  22. });

You can create many trees on one html-page.

The available methods of each json tree:
  • loadData(jsonObj) - Fill new data to current json tree
  • appendTo(domEl) - Appends tree to DOM-element (or move it to new place)
  • expand() - Expands all tree nodes (objects or arrays) recursively
  • expand(filterFunc) - Expands only selected (by filter function) child nodes of root element
  • collapse() - Collapses all tree nodes (objects or arrays) recursively