π A lightweight JavaScript library that generates customizable tree views to better visualize, and edit, JSON data.
v4.5.0
- π Zero-dependencies and extremely lightweight!
- π¦Ύ 100% TypeScript, allowing greater support for React, Angular, and other libraries!
- π» Full API available via public functions.
- π 52 language translations available!
- π± Fully styled in CSS/SASS, fully responsive, and compatible with the Bootstrap library!
- π Full CSS theme support (using :root variables), with dark and light themes.
- π 22 data types supported by default (such as Object, Array, primitive types, and even Sets, Maps, and HTML DOM elements).
- π Custom data types support.
- π£ Support to show the data types, array/object sizes, comas, and opening/closing symbols!
- βοΈ Fully configurable per DOM element!
- π Close and open all objects, arrays, sets, maps, and HTML objects.
- π Clickable values via custom triggers!
- β Custom value rendering.
- π Array paging, with configurable column count support (show array objects on different pages)!
- π₯ Compare the property name and index values in multiple page columns!
- π§ Drag & Drop JSON files support!
- π Copy to clipboard (all JSON, a specific page, a specific JSON value, or selected JSON values).
- βοΈ Full editing support (double click a value, property, index, or anywhere for everything).
- π Keyboard navigation keys support!
- π₯ Toggle between regular and full-screen views.
- β Assign tooltips to any JSON value!
- π Show value/key memory sizes, page numbers, and status updates in the footer!
You can view all the examples here.
All the documentation can be found here.
All modern browsers (such as Google Chrome, FireFox, and Opera) are fully supported.
boolean
Booleansnumber
Numbersbigint
Big Integersstring
Stringsobject
Objectsarray
Arraysdate
Datesfloat
Floatsnull
Nullssymbol
Symbolsfunction
Functionslambda
Lambdasundefined
Undefinedcolor
Colorsguid
GUIDsregexp
RegExpsmap
Mapsset
Setsurl
URLsimage
Imagesemail
Emailshtml
HTMLany
Unknown
af
Afrikaansar
Arabichy
Armenianbe
Belarusianbn
Bengalibg
Bulgarianca
Catalanzh
Chinese (simplified)da
Danishnl
Dutchen
English (default)eo
Esperantoet
Estonianfa
Farsifi
Finnishfr
Frenchfy
Frisiangl
Galicianka
Georgiande
Germanel
Greekhe
Hebrewhi
Hindihu
Hungarianis
Icelandicid
Indonesianga
Irishit
Italianja
Japaneseko
Koreanlv
Latvianlt
Lithuanianlb
Luxembourgishms
Malayne
Nepalino
Norwegianpl
Polishpt
Portuguesero
Romaniansi
Sinhalesesk
Slovaksl
Slovenianes
Spanishsv
Swedishtl
Tagalogta
Tamilzh-tw
Taiwanesete
Teluguth
Thaitr
Turkishuk
Ukrainianvi
Vietnamese
To see a list of all the most recent changes, click here.
You can install the library with npm into your local modules directory using the following command:
npm install jjsontree.js
Or, you can download the latest zipped up version here.
Or, you can also use the following CDN links:
https://cdn.jsdelivr.net/gh/williamtroup/[email protected]/dist/jsontree.min.js
https://cdn.jsdelivr.net/gh/williamtroup/[email protected]/dist/jsontree.js.min.css
To get started using JsonTree.js, do the following steps:
Make sure you include the "DOCTYPE html" tag at the top of your HTML, as follows:
<!DOCTYPE html>
<link rel="stylesheet" href="dist/jsontree.js.css">
<script src="dist/jsontree.js"></script>
<div id="tree-1" data-jsontree-js="{ 'showObjectSizes': true, 'data': [ true, false, 5, 10, 'A String' ] }">
Your HTML.
</div>
To see a list of all the available binding options you can use for "data-jsontree-js", click here.
To see a list of all the available custom triggers you can use for "data-jsontree-js", click here.
That's it! Nice and simple. Please refer to the code if you need more help (fully documented).
To customize, and get more out of JsonTree.js, please read through the following documentation.
To see a list of all the public functions available, click here.
Configuration options allow you to customize how JsonTree.js will function. You can set them as follows:
<script>
$jsontree.setConfiguration( {
safeMode: false
} );
</script>
To see a list of all the available configuration options you can use, click here.