dom-to-json
Version:
Convert DOM nodes into compact JSON objects, and vice versa, as fast as possible.
88 lines (53 loc) • 3.37 kB
Markdown
DOM T0 JSON
======
[](https://github.com/sumn2u/dom-to-json/issues) [](https://github.com/sumn2u/dom-to-json/network) [](https://github.com/sumn2u/dom-to-json/stargazers)
[](https://travis-ci.org/sumn2u/dom-to-json) [](https://github.com/sumn2u/dom-to-json/blob/master/LICENSE) [](https://twitter.com/intent/tweet?text=Wow:&url=https%3A%2F%2Fgithub.com%2Fsumn2u%2Fdom-to-json)
[](https://GitHub.com/sumn2u/dom-to-json/tags/)
[](https://GitHub.com/sumn2u/dom-to-json/releases/)
[](https://GitHub.com/sumn2u/dom-to-json/graphs/commit-activity)
<a href="https://npmjs.com/package/money-cli"><img src="https://img.shields.io/npm/dt/dom-to-json.svg" alt="npm Downloads"></a>
[](https://app.fossa.io/projects/git%2Bgithub.com%2Fsumn2u%2Fdom-to-json?ref=badge_shield)
Convert DOM nodes into compact JSON objects, and vice versa, as fast as possible.
## Jump To
* [Description](#description)
* [Installation](#installation)
* [Demos](#demos)
* [Usage](#usage)
* [Tests](#tests)
* [Contributing](#contributing)
* [License](#license)
## Description
The primary purpose of dom-to-json is to create comporessed json object from DOM trees and vice-versa.
## Installation
Installing dom-to-json is easy. You can pull it from Yarn...
```
yarn add dom-to-json
```
...or grab it from NPM and manually include it as a script tag...
```
npm install dom-to-json --save
```
## Demos
Coming soon...
## Usage
Using dom-to-json is super simple: use the [`.toJSON()`](#domJSON.toJSON) method to create a JSON representation of the DOM tree:
```javascript
import { toJSON } from 'dom-to-json'
let someDOMElement = document.getElementById('sampleId');
let jsonOutput = toJSON(someDOMElement);
```
And then rebuild the DOM Node from that JSON using [`.toDOM()`](#domJSON.toDOM):
```javascript
import { toDOM } from 'dom-to-json'
let DOMDocumentFragment = toDOM(jsonOutput);
someDOMElement.parentNode.replaceChild(someDOMElement, DOMDocumentFragment);
```
## Tests
You can run test by using following commands
```javascript
npm run test
```
## Contributing
Feel free to pull and contribute! If you do, please make a separate branch on your Pull Request, rather than pushing your changes to the Master. It would also be greatly appreciated if you ran the appropriate tests before submitting the request (there are three sets, listed below).
## License
[](https://app.fossa.io/projects/git%2Bgithub.com%2Fsumn2u%2Fdom-to-json?ref=badge_large)