in

A JSON utility library for Python featuring Django-style queries and mutations


JSON Enhanced implements fast and pythonic queries and mutations for JSON objects.

You can install json-enhanced with pip:

pip install json-enhanced
import jsonutils as js
from datetime import datetime

# We create a new JSONObject either directly or from a local file/URL:
json_data = js.JSONObject(
    {
        "data": [
            {
                "name": "Dan",
                "birthday": "1991-01-02 09:00:00",
                "publications": 15
            },
            {
                "name": "Mar",
                "birthday": "1991-03-02 12:30:00",
                "publications": 13
            },
            {
                "name": "Carl",
                "birthday": "1950-06-02 16:00:00",
                "publications": 36
            },
            {
                "name": "Vic",
                "birthday": "1986-07-02 16:00:00",
                "publications": None
            },
        ]
    }
)

# Now we can navegate through this object by attribute accesion:
json_data.data._1.name
# 'Mar'

# Or we can make queries. The syntax is very similar to Django's querysets:
result = json_data.query(birthday__lt=datetime(1985,1,1))

result
# <QuerySet ['1950-06-02 16:00:00']>

result.first().parent
# {'name': 'Carl', 'birthday': '1950-06-02 16:00:00', 'publications': 36}

# We can also retrieve the path of a node:
result.first().jsonpath
# data/2/

Detailed documentation is available at json-enhanced.readthedocs.io.

GitHub – Collisio/json-enhanced: A JSON utility library for Python featuring Django-style queries and mutations.

A JSON utility library for Python featuring Django-style queries and mutations. – GitHub – Collisio/json-enhanced: A JSON utility library for Python featuring Django-style queries and mutations.


Leave a Reply

Your email address will not be published. Required fields are marked *

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

GIPHY App Key not set. Please check settings

Create Schedules Tool Build With React

A Wails template based on Vue and Vue-Router