Skip to main content

Visualize and edit JSON

Project description

💥py-jsoneditor💥

Quickly View and Edit any JSON data.

Why?

When working with JSON data, You often need to get a structured view of the JSON in order to be able to work with it. There's an online tool https://jsoneditoronline.org/ which I used for this, but copying/pasting all the time got frustrating pretty quickly, This is why I created this package which you can launch right from Python or from the command line.

Screenshot

Installation

pip install jsoneditor

Python example

In python you can simply import jsoneditor and call the editjson function, the first argument is going to be the data. See Formats you can pass the JSON as for all the formats you can pass the JSON in. See Python api for a full list of addtional arguments that you can pass to editjson.

import requests
import jsoneditor

data = requests.get('https://jsonplaceholder.typicode.com/comments').json()
jsoneditor.editjson(data)

Command line example

From the command line you can either pass the data as an argument as so:

jsoneditor '{"Hey": "Hi"}'

Or you can pipe it in like so:

curl https://jsonplaceholder.typicode.com/comments | jsoneditor

Or you can use what you have in your clipboard like so:

jsoneditor -c

See Formats you can pass the JSON as for all the formats you can pass the JSON in.

Refer to CLI options for a list of all cli options. Alternatively you can run jsoneditor --help from your terminal to see it.

Formats you can pass the JSON as

You can pass the json in any of the following formats:

  • as valid json string. Example: {"Hey": "Hi"}
  • as a python dict. Example: {'Hey': 'hi'}
  • as a url the points to valid json. Example: https://jsonplaceholder.typicode.com/comments
  • as a file path that is valid json. Example: data.json

Python Api

parameter type optional description
data Any The data in any of these formats.
callback callable ✔️ If you provide this argument you will have a ✅ button which will trigger this callback.
options dict ✔️ Options to pass the the jsoneditor object. See here
additional_js str ✔️ You can pass some JavaScript to run on the client side. You can interact with the editor by accessing the window.editor variable.
keep_running bool ✔️ Whether to keep the server running. Defaults to False.
run_in_thread bool ✔️ Whether to run the server in a separate thread. Defaults to False.
is_csv bool ✔️ Whether the data is csv data. Defaults to False.
is_ndjson bool ✔️ Whether the data is Newline Delimited JSON . Defaults to False.
is_js_object bool ✔️ Whether the data is a JavaScript Object. Defaults to False.
title str ✔️ A title to display in the browser.
port int ✔️ specify which port to use.

CLI options

parameter description
data The data in any of these formats
-o Add a button that will output the json back to the console
-b Keep running in background
-c Get JSON input from clipboard
-k Keep alive
-e Edit mode
-n Don't launch browser
-p Server port
--out File to output when in edit mode
-t Title to display in browser window
--csv Input is CSV
--js Input is a JavaScript Object
--ndjson Input is Newline Delimited JSON

Build

python setup.py sdist

Acknowledgements

Project details


Download files

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

Source Distribution

jsoneditor-1.5.0.tar.gz (259.3 kB view details)

Uploaded Source

File details

Details for the file jsoneditor-1.5.0.tar.gz.

File metadata

  • Download URL: jsoneditor-1.5.0.tar.gz
  • Upload date:
  • Size: 259.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/3.10.0 pkginfo/1.7.0 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.8.10

File hashes

Hashes for jsoneditor-1.5.0.tar.gz
Algorithm Hash digest
SHA256 08f02d9a379b81e9648626e038387c2b88abe95f6e9920788f850d7d6433f39c
MD5 00a1b39135a9acaa0b873e520c5b51cc
BLAKE2b-256 2fd491d87e50ee017578965dba984a5c24fda89460285d4f7217dfe525fe3072

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page