Skip to main content
Help us improve Python packaging – donate today!

JSON processing command line tool based on JSONSelect

Project Description

jss is a JSON processing command line tool (like jq).

Unlike jq, its selection language is JSONSelect, which is based on CSS selectors. No need to learn an ad-hoc language for processing your JSON files. Just use one you already know! Your time with jss won’t be wasted—it will make you better at writing CSS selectors.

Usage

$ pip install -g jss

$ cat file.json
{
  "foo": [
    "bar",
    {
      "baz": "quux"
    }
  ],
  "wut": {
    "name": "foo",
    "metadata": {
      "owner": "danvk",
      "blah": "whatever"
    }
  },
  "name": "dan"
}

# Pull out all values with key "name", from anywhere in the JSON.
$ jss .name file.json
"foo"
"dan"

# Remove fields named "metadata", wherever they occur (JSON→JSON transform):
$ jss -v .metadata file.json
{
  "foo": [
    "bar",
    {
      "baz": "quux"
    }
  ],
  "wut": {
    "name": "foo"
  },
  "name": "dan"
}

# Keep only fields named "name", plus their ancestors (JSON→JSON transform):
$ jss -k .name file.json
{
  "wut": {
    "name": "foo"
  },
  "name": "dan"
}

# Keep only top-level entries with "whatever" in some value underneath them:
# (JSON→JSON transform using jQuery-style selectors):
$ jss -k ':root>*:has(:contains("whatever"))' file.json
{
  "wut": {
    "name": "foo",
    "metadata": {
      "owner": "danvk",
      "blah": "whatever"
    }
  }
}

Release history Release notifications

This version
History Node

0.1.0

Download files

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

Filename, size & hash SHA256 hash help File type Python version Upload date
jss-0.1.0.tar.gz (4.0 kB) Copy SHA256 hash SHA256 Source None Oct 13, 2014

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging CloudAMQP CloudAMQP RabbitMQ AWS AWS Cloud computing Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page