Skip to main content

jsondatasave

Overview

jsondatasave is a Python library that provides a set of functions to facilitate working with JSON data. It includes functionalities to load, save, append, update, and delete data in JSON files, as well as support for custom encoders and decoders. The aim is to simplify common tasks associated with JSON data management while handling potential errors gracefully.

Installation

To use this library, simply include it in your Python project. No additional installation steps are required.

Functions

load(FileName: str) -> Any

Loads data from a JSON file.

  • Parameters:

    • FileName: The name of the file to load.
  • Returns:

    • The data loaded from the JSON file.
  • Exceptions:

    • Prints an error message if the file does not exist or contains invalid JSON.

save(Data: Any, Filename: str, pretty: bool = False, encoder: Optional[json.JSONEncoder] = None) -> Any

Saves data to a JSON file.

  • Parameters:

    • Data: The data to save.
    • Filename: The name of the file to save the data to.
    • pretty: If True, the JSON is pretty-printed with an indentation of 4 spaces. Default is False.
    • encoder: Optional custom JSON encoder.
  • Returns:

    • The saved data.
  • Exceptions:

    • Prints an error message if an unexpected error occurs during the save operation.

append(Data: Any, Filename: str, encoder: Optional[json.JSONEncoder] = None) -> Any

Appends data to an existing JSON file containing a JSON array.

  • Parameters:

    • Data: The data to append.
    • Filename: The name of the file to append the data to.
    • encoder: Optional custom JSON encoder.
  • Returns:

    • The updated data.
  • Exceptions:

    • Prints an error message if the file does not contain a JSON array or if an unexpected error occurs.

load_with_decoder(FileName: str, decoder: Optional[json.JSONDecoder] = None) -> Any

Loads data from a JSON file using a custom decoder.

  • Parameters:

    • FileName: The name of the file to load.
    • decoder: Optional custom JSON decoder.
  • Returns:

    • The data loaded from the JSON file.
  • Exceptions:

    • Prints an error message if the file does not exist or contains invalid JSON.

update(Filename: str, key: str, value: Any, encoder: Optional[json.JSONEncoder] = None) -> Any

Updates a specific key in a JSON file.

  • Parameters:

    • Filename: The name of the file to update.
    • key: The key to update.
    • value: The new value for the key.
    • encoder: Optional custom JSON encoder.
  • Returns:

    • The updated data.
  • Exceptions:

    • Prints an error message if the file does not contain a JSON object or if an unexpected error occurs.

delete(Filename: str, key: str, encoder: Optional[json.JSONEncoder] = None) -> Any

Deletes a specific key from a JSON file.

  • Parameters:

    • Filename: The name of the file to update.
    • key: The key to delete.
    • encoder: Optional custom JSON encoder.
  • Returns:

    • The updated data.
  • Exceptions:

    • Prints an error message if the file does not contain a JSON object, the key does not exist, or if an unexpected error occurs.

Error Handling

The library handles common errors such as file not found, invalid JSON format, and unexpected exceptions. Error messages are printed to the console to inform the user of the issue.

Examples

Loading a JSON File

data = load('data.json')

Saving Data to a JSON File

save(data, 'data.json', pretty=True)

Appending Data to a JSON File

append(new_data, 'data.json')

Loading a JSON File with a Custom Decoder

data = load_with_decoder('data.json', decoder=CustomDecoder)

Updating a Key in a JSON File

update('data.json', 'key_to_update', new_value)

Deleting a Key from a JSON File

delete('data.json', 'key_to_delete')

License

This library is provided as-is, without warranty of any kind. Use at your own risk.

Metadata

Release files for jsondatasave 1.6.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for jsondatasave 1.6.1
File Size Uploaded
jsondatasave-1.6.1.tar.gz 3.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for jsondatasave 1.6.1
File Interpreter ABI Platform
jsondatasave-1.6.1-py3-none-any.whl Python 3 none any Details

Total release size: 5.9 kB

Release files / jsondatasave-1.6.1.tar.gz

Download URL jsondatasave-1.6.1.tar.gz
Size 3.0 kB
Tags Source
SHA-256 checksum
How to use checksums
c9a509c90276d2771247345c09abb6249e92a101663db24ebf34974936fdf4cb
BLAKE2b-256 checksum
How to use checksums
36e21483e8716ca5d3192d037835e717056499b54c8490d6e64ed77527799eaa
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.0 CPython/3.11.9

Release files / jsondatasave-1.6.1-py3-none-any.whl

Download URL jsondatasave-1.6.1-py3-none-any.whl
Size 2.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
e91c4296b0b1b5c4ab0f47efb5de423736147bbbdd94e85ff596d44f289ba807
BLAKE2b-256 checksum
How to use checksums
a44ef7f089631bdaf2688b7132bdf1dffbe9bae345a4c6d3ce61f23461202a20
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.0 CPython/3.11.9

Release history Release notifications | RSS feed

This release

1.6.1 This release

2 release files

1.6

2 release files

1.5

2 release files

1.4

2 release files

1.3

2 release files

1.2

2 release files

1.1

2 release files

1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page