Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/abodelot/jquery.json-viewer
jQuery plugin for displaying JSON data
https://github.com/abodelot/jquery.json-viewer
jquery json
Last synced: 5 days ago
JSON representation
jQuery plugin for displaying JSON data
- Host: GitHub
- URL: https://github.com/abodelot/jquery.json-viewer
- Owner: abodelot
- License: mit
- Created: 2014-12-19T19:09:26.000Z (about 10 years ago)
- Default Branch: master
- Last Pushed: 2022-10-24T17:45:21.000Z (about 2 years ago)
- Last Synced: 2024-05-17T17:43:17.263Z (7 months ago)
- Topics: jquery, json
- Language: JavaScript
- Size: 42 KB
- Stars: 413
- Watchers: 16
- Forks: 167
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# jQuery json-viewer
![npm](https://img.shields.io/npm/v/jquery.json-viewer.svg)
![npm](https://img.shields.io/npm/l/jquery.json-viewer.svg)
![npm](https://img.shields.io/npm/dt/jquery.json-viewer.svg)
![workflow](https://github.com/abodelot/jquery.json-viewer/actions/workflows/node.js.yml/badge.svg)*json-viewer* is a jQuery plugin for easily displaying JSON objects by transforming them into HTML.
Features:
- Syntax highlighting
- Collapse and expand child nodes on click
- Clickable links
- Easily readable and minimal DOM structure
- Optional support for libraries supporting big numbersCheck out the [demo page](https://abodelot.github.io/jquery.json-viewer/demo.html)!
## Install
With npm:
```sh
npm install jquery.json-viewer
```Make sure jQuery is already included. Then import `jquery.json-viewer.js` and `jquery.json-viewer.css` in your HTML document:
```html
```
You can also simply copy `json-viewer/jquery.json-viewer.js` and `json-viewer/jquery.json-viewer.css` files from this git repository into your project.
## Usage
Call the `jsonViewer()` method on target element and pass your JSON data in argument:
```html
``````js
var data = {
"foobar": "foobaz"
};
$('#json-renderer').jsonViewer(data);
```## Options
The `jsonViewer` method accepts an optional config object as a second argument. The supported options are:
- `collapsed` (boolean, default: `false`): all nodes are collapsed at html generation.
- `rootCollapsable` (boolean, default: `true`): allow root element to be collasped.
- `withQuotes` (boolean, default: `false`): all JSON keys are surrounded with double quotation marks (`{"foobar": 1}` instead of `{foobar: 1}`).
- `withLinks` (boolean, default: `true`): all values that are valid links will be clickable, if `false` they will only be strings.
- `bigNumbers` (boolean, default: `false`): support different libraries for big numbers, if `true` display the real number only, `false` shows object containing big number with all fields instead of number only.Example:
```js
$('#json-renderer').jsonViewer(data, {collapsed: true, withQuotes: true, withLinks: false});
```#### Big number support
Enabling `bigNumbers` the json object visible will show the number stored inside the object only and does not display
all fields.Example Object using Decimal.js - other libraries are similar:
```js
var Decimal = require('decimal.js');
var data = { "x": new Decimal(123) };$('#json-renderer').jsonViewer(data, {bigNumbers: false});
// {
// "x": {
// "constructor": ,
// "s": 1,
// "e": 2,
// "d": [
// 123
// ]
// }
// }$('#json-renderer').jsonViewer(data, {bigNumbers: true});
// {
// "x": 123
// }
```
The following libraries are supported:- Decimal.js: https://github.com/MikeMcl/decimal.js/
- Decimal.js-light: https://github.com/MikeMcl/decimal.js-light/
- Big.js: https://github.com/MikeMcl/big.js/
- BigNumber.js: https://github.com/MikeMcl/bignumber.js/
- Lossless-JSON: https://github.com/josdejong/lossless-json## About
- Author: [Alexandre Bodelot](https://github.com/abodelot)
- License: [MIT License](http://opensource.org/licenses/MIT)