About Anaconda Help Download Anaconda

jq is a lightweight and flexible JSON processor.

  • License: BSD 2-Clause
  • 68 total downloads
  • Last upload: 8 years and 4 months ago

Installers

pip install

To install this package run one of the following:
pip install -i https://pypi.anaconda.org/rolando-test-org/simple jq

Description

jq.py: a lightweight and flexible JSON processor

This project contains Python bindings for jq <http://stedolan.github.io/jq/>_.

Installation

During installation, jq 1.4 is downloaded over HTTPS from GitHub and built. Therefore, installation requires any programs required to build jq. This includes:

  • The normal C compiler toolchain, such as gcc and make. Installable on Debian, Ubuntu and relatives by installing the package build-essential.

  • Autoconf

  • Flex

  • Bison

  • libtool

  • Python headers. Installable on Debian, Ubuntu and relatives by installing the package python-dev.

If on Debian, Ubuntu or relatives, running the following packages should be sufficient:

.. code-block:: sh

apt-get install build-essential autoconf flex bison libtool python-dev

Usage

A program can be compiled by passing it to jq.jq. To apply the program to an input, call the transform method. jq.py expects the value to be valid JSON, such as values returned from json.load.

.. code-block:: python

from jq import jq

jq(".").transform("42") == "42"
jq(".").transform({"a": 1}) == {"a": 1}

If the value is unparsed JSON text, pass it in using the text argument:

.. code-block:: python

jq(".").transform(text="42") == 42

The text_output argument can be used to serialise the output into JSON text:

.. code-block:: python

jq(".").transform("42", text_output=True) == '"42"'

If there are multiple output elements, each element is represented by a separate line, irrespective of the value of multiple_output:

.. code-block:: python

jq(".[]").transform("[1, 2, 3]", text_output=True) == "1\n2\n3"

If multiple_output is False (the default), then the first output is used:

.. code-block:: python

jq(".[]+1").transform([1, 2, 3]) == 2

If multiple_output is True, all output elements are returned in an array:

.. code-block:: python

jq(".[]+1").transform([1, 2, 3], multiple_output=True) == [2, 3, 4]

© 2025 Anaconda, Inc. All Rights Reserved. (v4.0.9) Legal | Privacy Policy