@pgrabovets/json-view
Version:
This is a javascript library for displaying json data into a DOM
127 lines (96 loc) • 2.52 kB
Markdown
# json-view
This is a JavaScript library for displaying JSON data in the DOM.
[Demo link](http://pgrabovets.github.io/json-view/)
## Installation
```javascript
npm install '@pgrabovets/json-view'
```
## How to use
Import the jsonview library from the npm package:
```javascript
import jsonview from "@pgrabovets/json-view";
```
Or include jsonview.umd.cjs and jsonview.css from the dist directory in your HTML page:
```html
<link href="jsonview.css" rel="stylesheet" />
<script src="jsonview.umd.cjs"></script>
```
Get JSON data and render the tree into the DOM:
```javascript
// get json data
const data = '{"name": "json-view","version": "1.0.0"}';
// create json tree object
const tree = jsonview.create(data);
// render tree into dom element
jsonview.render(tree, document.querySelector(".tree"));
// you can render JSON data without creating a tree manually
const tree = jsonview.renderJSON(data, document.querySelector(".tree"));
```
Control methods:
```javascript
// expand tree
jsonview.expand(tree);
// collapse tree
jsonview.collapse(tree);
// traverse tree object
jsonview.traverse(tree, function (node) {
console.log(node);
});
// toggle between show and hide
jsonview.toggleNode(tree);
// destroy and unmount JSON tree from the DOM
jsonview.destroy(tree);
```
## Example 1
```html
<!DOCTYPE html>
<html>
<head>
<link href="dist/jsonview.css" rel="stylesheet" />
<title>JSON VIEW</title>
</head>
<body>
<div class="root"></div>
<script type="text/javascript" src="dist/jsonview.umd.cjs"></script>
<script type="text/javascript">
fetch("dist/example2.json")
.then((res) => {
return res.text();
})
.then((data) => {
const tree = jsonview.create(data);
jsonview.render(tree, document.querySelector("#root"));
jsonview.expand(tree);
})
.catch((err) => {
console.log(err);
});
</script>
</body>
</html>
```
## Example 2
```javascript
import "@pgrabovets/json-view/style.css";
import jsonview from "@pgrabovets/json-view";
fetch("example2.json")
.then((res) => {
return res.text();
})
.then((data) => {
const tree = jsonview.create(data);
jsonview.render(tree, document.querySelector(".root"));
jsonview.expand(tree);
})
.catch((err) => {
console.log(err);
});
```
## Development
### Clone the repository and install dependencies:
```
$ npm install
$ npm run dev
$ npm run build
open http://localhost:5173/
```