👌 Zero dependencies ⚡️ Ultra lightweight
npm i -S jsonfromhtml
const { jsonFromHTML } = require('jsonfromhtml')
const body = jsonFromHTML(document.body) // returns object
const json = JSON.stringify(body)
const element = jsonFromHTML(domElement)
Parameter:
domElement
: Expects a DOM element. Use a package like cheerio to use it in node envoirnment.
Returns:
- An
Object
.
Input:
<p>
Here is my <a href="https://github.com/moinism" target="_blank">Github</a> if you wanna have a looksy.
</p>
Output:
{
"nodeName": "P", // tag name
"nodeType": "element", // either 'element' or 'text'
"attrs": {}, // only for nodeType == 'element'
"children": [
{
"content": "\nHere is my ",
"nodeType": "text"
},
{
"nodeName": "A",
"nodeType": "element",
"attrs": { // key-value pairs of all the attributes on the element.
"href": "https://github.com/moinism",
"target": "_blank"
},
"children": [
{
"content": "Github",
"nodeType": "text"
}
]
},
{
"content": " if you wanna have a looksy.\n",
"nodeType": "text"
}
]
}
MIT