Skip to main content
Python Software Foundation 20th Year Anniversary Fundraiser  Donate today!

Convert JSON to an HTML table

Project description

Build Status Coverage Status

This is a simple Python packages that allows a JSON object to be converted to HTML. it provides a convert function that accepts a dict instance and returns a string of converted HTML. For example, the simple JSON object {'key' : 'value'} can be converted to HTML via:

>>> from json2table import convert
>>> json_object = {'key' : 'value'}
>>> build_direction = 'LEFT_TO_RIGHT'
>>> table_attributes = {'style' : 'width:100%'}
>>> html = convert(json_object, build_direction=build_direction, table_attributes=table_attributes)
>>> print(html)
'<table style="width:100%"><tr><th>key</th><td>value</td></tr></table>'

The resulting table will resemble

key value

More complex parsing is also possible. If a list of dict’s provides the same list of keys, the generated HTML with gather items by key and display them in the same column.

{"menu": {
  "id": "file",
  "value": "File",
    "menuitem": [
      {"value": "New", "onclick": "CreateNewDoc()"},
      {"value": "Open", "onclick": "OpenDoc()"},
      {"value": "Close", "onclick": "CloseDoc()"}


menu menuitem onclick value
    CreateNewDoc() New
    OpenDoc() Open
    CloseDoc() Close
  id file  
  value File  

It might, however, be more readable if we were able to build the table from top-to-bottom instead of the default left-to-right. Changing the build_direction to 'TOP_TO_BOTTOM' yields:

menuitem   id value
onclick value file File
CreateNewDoc() New
OpenDoc() Open
CloseDoc() Close

Table attributes are added via the table_attributes parameter. This parameter should be a dict of (key, value) pairs to apply to the table in the form key="value". If in our simple example before we additionally wanted to apply a class attribute of "table table-striped" we would use the:

>>> table_attributes = {'style' : 'width:100%', 'class' : 'table table-striped'}

and convert just as before:

>>> html = convert(json_object, build_direction=build_direction, table_attributes=table_attributes)


The easiest method on installation is to use pip. Simply run:

>>> pip install json2table

If instead the repo was cloned, navigate to the root directory of the json2table package from the command line and execute:

>>> python install


In order to verify the code is working, from the command line navigate to the json2table root directory and run:

>>> python unittest -m tests.test_json2table

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for json2table, version 1.0
Filename, size File type Python version Upload date Hashes
Filename, size json2table-1.0-py2.py3-none-any.whl (7.7 kB) File type Wheel Python version py2.py3 Upload date Hashes View
Filename, size json2table-1.0.tar.gz (6.1 kB) File type Source Python version None Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring DigiCert DigiCert EV certificate Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page