html-table-to-json
Version:
Extracts all tables within a provided html snippet and converts them to JSON objects.
86 lines (59 loc) • 1.63 kB
Markdown
# html-table-to-json [](https://travis-ci.org/brandon93s/html-table-to-json)
> Extracts tables from a provided html snippet and converts them to JSON objects
## Install
```
$ npm install html-table-to-json
```
## Usage
```js
const HtmlTableToJson = require('html-table-to-json');
const jsonTables = HtmlTableToJson.parse(`
<table>
<tr>
<th>Animal</th>
<th>Color</th>
<th>Name</th>
</tr>
<tr>
<td>Unicorn</td>
<td>Pink</td>
<td>Billy</td>
</tr>
<tr>
<td>Walrus</td>
<td>Orange</td>
<td>Sue</td>
</tr>
</table>
`);
console.log(jsonTables.results);
/* => [[
* {Animal: 'Unicorn', Color: 'Pink', Name: 'Billy'},
* {Animal: 'Walrus', Color: 'Orange', Name: 'Sue'}
* ]]
*/
console.log(jsonTables.count);
// => 1
```
## API
### HtmlTableToJson.parse(input [,options])
#### input
Type: `string`
Any html snippet.
#### options
Type: `object`
##### values
Type: `bool`
Return table rows as value arrays:
```js
// HtmlTableToJson.parse(html, { values: true })
/* => [[
* ['Unicorn', 'Pink', 'Billy'],
* ['Walrus', 'Orange', 'Sue']
* ]]
*/
```
## Headers
HtmlTableToJson extracts table headers ( `th` ) to be used as JSON object keys. The first row is used when no `th` elements are present.
## License
MIT © [Brandon Smith](https://github.com/brandon93s)