jsonobject
A library for dealing with JSON as python objects
Decision gist · record as of 2026-08-14
Yes, if you need schema-based JSON-to-Python mapping with type safety and no external dependencies. The library is stable and permissively licensed. However, the aging maintenance status (last release 533 days ago) means you should verify compatibility with your Python version and use case before relying on it for new projects; consider alternatives if you need active development or advanced validation features.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Medium install friction due to compiled wheels for multiple Python versions (3.9–3.13), but no runtime dependencies.
- Last release was 533 days ago; repository is not archived and shows recent activity (last commit 2025-05-23), though maintenance status is aging.
License · maintenance · safety
permissive license (permissive) — BSD 2-Clause license (permissive). You may use, modify, and distribute the package freely in commercial and private projects, provided you retain copyright notices and include the license text.
last release 2025-02-27 (533 days) · last repo commit 2025-05-23 · 236 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 395,117 downloads/mo, #6,984 on PyPI
Alternatives
Verify before relying
pip install jsonobject
from jsonobject import JsonObject, StringProperty, BooleanProperty, DateTimeProperty, ListProperty
import datetime
class User(JsonObject):
username = StringProperty()
name = StringProperty()
active = BooleanProperty(default=False)
date_joined = DateTimeProperty()
tags = ListProperty(unicode)
user = User(name='John Doe', username='jdoe', date_joined=datetime.datetime.utcnow(), tags=['generic'])
print(user.to_json())- Whether the aging maintenance status affects stability for new Python versions or modern use cases.
- Performance characteristics compared to alternatives for large or deeply nested JSON structures.
- Completeness of type validation and error handling for edge cases in production environments.
- Current download volume and active user base given the 533-day gap since last release.
What it is and what it does
jsonobject is a Python library that bridges JSON and Python objects by letting you define typed schemas that automatically convert between JSON strings (or dicts) and native Python objects. You define a class inheriting from JsonObject with typed properties (StringProperty, DateTimeProperty, ListProperty, etc.), then use it to wrap raw JSON data or construct objects that serialize back to JSON with proper type coercion—datetimes become ISO strings, decimals preserve precision, and nested objects compose naturally.
The library handles both construction styles: passing a dict of raw JSON data or using keyword arguments with Python-native types. It was originally inspired by couchdbkit's Document/DocumentSchema API and is used in production by CommCare HQ. The API is largely stable, though it is maintained at a slower cadence and targets Python 3.9 and later with no external runtime dependencies.
Use it for
- Deserialize JSON API responses into typed Python objects with automatic datetime and decimal conversion.
- Define a schema once and use it to validate and wrap incoming JSON from external services or databases.
- Serialize complex Python objects with nested structures, dates, and custom types back to JSON for storage or transmission.
- Build configuration or data models that enforce type safety and provide IDE autocomplete for deeply nested JSON structures.
- Migrate from couchdbkit-based code to a simpler, standalone library with compatible API.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if you need schema-based JSON-to-Python mapping with type safety and no external dependencies.
The library is stable and permissively licensed. However, the aging maintenance status (last release 533 days ago) means you should verify compatibility with your Python version and use case before relying on it for new projects; consider alternatives if you need active development or advanced validation features.
Install
jsonobject on PyPI
Before you install
Medium install friction due to compiled wheels for multiple Python versions (3.9–3.13), but no runtime dependencies. Last release was 533 days ago; repository is not archived and shows recent activity (last commit 2025-05-23), though maintenance status is aging.
License in practice
BSD 2-Clause license (permissive). You may use, modify, and distribute the package freely in commercial and private projects, provided you retain copyright notices and include the license text.
Quickstart
pip install jsonobject
from jsonobject import JsonObject, StringProperty, BooleanProperty, DateTimeProperty, ListProperty
import datetime
class User(JsonObject):
username = StringProperty()
name = StringProperty()
active = BooleanProperty(default=False)
date_joined = DateTimeProperty()
tags = ListProperty(unicode)
user = User(name='John Doe', username='jdoe', date_joined=datetime.datetime.utcnow(), tags=['generic'])
print(user.to_json())
Verify before relying
- Whether the aging maintenance status affects stability for new Python versions or modern use cases.
- Performance characteristics compared to alternatives for large or deeply nested JSON structures.
- Completeness of type validation and error handling for edge cases in production environments.
- Current download volume and active user base given the 533-day gap since last release.
Package facts
| License | permissive license permissive |
| Python support | Supports the current Python release >=3.9 |
| Install friction | Medium. Platform-specific wheel |
| Runtime dependencies | None |
| Maintenance | Aging 533 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 395,117 / month, #6,984 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | License :: OSI Approved :: BSD LicenseProgramming Language :: PythonProgramming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.9 |
Evidence: jsonobject-2.3.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl; jsonobject-2.3.1-cp310-cp310-musllinux_1_2_x86_64.whl; jsonobject-2.3.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl; jsonobject-2.3.1-cp311-cp311-musllinux_1_2_x86_64.whl; jsonobject-2.3.1-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl; jsonobject-2.3.1-cp312-cp312-musllinux_1_2_x86_64.whl; jsonobject-2.3.1-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl; jsonobject-2.3.1-cp313-cp313-musllinux_1_2_x86_64.whl; jsonobject-2.3.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl; jsonobject-2.3.1-cp39-cp39-musllinux_1_2_x86_64.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “json to python object mapping”
- jsonobjectjsonobject provides a Python library for mapping deeply nested JSON…
- pyactiveresourcePyActiveResource maps Python classes to remote REST resources,…
- datafilesDatafiles is a file-based ORM that automatically synchronizes Python…
Give your agent the search over MCP, or paste the wish link into any chat.
More Software Development packages
Provides backported and experimental type hints for Python 3.9+, allowing use of newer typing features on older Python versions and enabling early experimentation with type system PEPs before they enter the standard library.
NumPy provides an N-dimensional array object and a comprehensive suite of mathematical, linear algebra, Fourier transform, and random number functions for scientific computing in Python.
FastAPI is a Python web framework for building REST APIs using type hints, with automatic request validation, serialization, and interactive API documentation.
Provides a way to document function parameters, class attributes, return types, and variables inline using Python's `Annotated` type hint syntax instead of traditional docstrings.
Typer builds command-line applications from Python functions using type hints, automatically generating help text, argument parsing, and shell completion.
Install it if you are building CLIs in Python.
Distlib provides low-level packaging utilities for building, distributing, and managing Python software—including metadata handling, version specifiers, wheel support, script installation, and dependency resolution.
See also jsonconversion · databind.json · json-flatten · databind · logging-json · schema · databind.core · json-strong-typing · yamlable · json-encoder