Skip to main content

JSON Tree Parser

Project description

CLI tool to view json tree / structure

cat input.json
# {"a": 1, "b": [{"c": 3}]}
python -m jsontp -i input.json -v
# root -> a
# root -> b
# root -> b -> [0] -> c
python -m jsontp -i input.json -k c
# root -> b -> [0] -> c

Install

pip install jsontp
# or
pip install git+https://github.com/ames0k0/jsontp

CLI Arguments

CLI tool to view json tree / structure

options:
  -h, --help  show this help message and exit
  -i I        [i]nput filepath
  -o O        [o]utput filepath
  -v [V]      [v]view json tree
  -k K        [k]ey to search
  -t T        [t]ree to `-o` the data from
  -l L        [l]imit stdout
  -il IL      [i]tems [l]imit stdout
  -fk FK      [f]ilter stdout by `key`
  -fv FV      [f]ilter stdout by `value`

Usage Example :: CLI

# View tree / structure with array items limit 1
python -m jsontp -i input.json -v -il 1

# Search for `key` (-k), filter by `key` (-fk)
python -m jsontp -i input.json -k id -fk user

# Search for `key` (-k), filter by `key` (-fk), print the value for `tree`
python -m jsontp -i input.json -k id -fk user -o '*'

# Print the value for `tree` (NOTE: `-o output.json` - to dump a value)
python -m jsontp -i input.json -t 'root -> props -> ... -> user' -o '*'

Usage Example :: API (Experimental)

from jsontp import JsonTreeParser
from jsontp.utils import FileIO
from jsontp.config import Key

file_io = FileIO(src="input.json")
file_data = file_io.load()

pdt = JsonTreeParser(data=file_data)
pdt_tree = pdt.tree_by_key_or_view(key="user", result_to=Key.SAVE)

data_for_tree = pdt.data_by_tree(tree=next(pdt_tree))
file_io.dump(data=data_for_tree, dst="output.json")

License :: MIT

Copyright (c) 2022,2024 ames0k0

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

jsontp-1.2.0.tar.gz (5.5 kB view details)

Uploaded Source

File details

Details for the file jsontp-1.2.0.tar.gz.

File metadata

  • Download URL: jsontp-1.2.0.tar.gz
  • Upload date:
  • Size: 5.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for jsontp-1.2.0.tar.gz
Algorithm Hash digest
SHA256 6e840aa03a5b101740f2a08a973d8803d2ef7472c19fb2e4068289b5c7b49490
MD5 09876a077d7a4bcd8c1b5bbf590693c3
BLAKE2b-256 631f9f49271654c5cc2f68bed759ae5cc76b49ecdc7a8db95314141e8a235cb6

See more details on using hashes here.

Supported by

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