-
-
Notifications
You must be signed in to change notification settings - Fork 0
json
This class provides methods to read, create and update JSON files, with support for comments inside the JSON data.
This method will replace all special space characters with normal spaces.
Params:
-
json_file: strthe path to the json file -
comment_start: str = ">>"the start of a custom json comment -
comment_end: str = "<<"the end of a custom json comment -
return_original: bool = Falsewhether to also return the original data, including comments
Returns: the JSON data as a dictionary or a tuple with the processed data and the original data
This method will create a nicely formatted JSON file from a dictionary.
Params:
-
json_file: strthe file name or path, with or without file extension -
data: dictthe data to be written to the file -
indent: int = 2the amount of spaces to use for indentation -
compactness: int = 1how compact the data should be formatted (seeData.to_str()) -
force: bool = Falsewhether to overwrite the file if it already exists
Returns: the absolute path of the created file
Update single/multiple values inside JSON files, without needing to know the rest of the data.
Params:
-
json_file: strthe path to the json file -
update_values: dict[str, Any]the value-path/s along with the new value/s to be inserted -
comment_start: str = ">>"the start of a custom json comment -
comment_end: str = "<<"the end of a custom json comment -
path_sep: str = "->"the separator of the value-path parts (seeData.get_path_id())
Returns: no return value
The update_values parameter is a dictionary, where the keys are the paths to the data to update, and the values are the new values to set.
Example:
For this JSON data:
{
"healthy": {
"fruit": ["apples", "bananas", "oranges"],
"vegetables": ["carrots", "broccoli", "celery"]
}
}... the update_values dictionary could look like this:
{
# CHANGE VALUE "apples" TO "strawberries"
"healthy->fruit->0": "strawberries",
# CHANGE VALUE UNDER KEY "vegetables" TO [1, 2, 3]
"healthy->vegetables": [1, 2, 3]
}In this example, if you want to change the value of "apples", you can use healthy->fruit->apples as the value-path.
If you don't know that the first list item is "apples", you can use the items list index inside the value-path, so healthy->fruit->0.
⇾ If the given value-path doesn't exist, it will be created.
★⠀Python Library by XulbuX⠀★
-
Intended Audience:
- Developers
-
License:
- OSI Approved
- MIT License
-
Operating Systems:
- Full Library: OS Independent
-
Supported Python Versions:
- Python 3.13
- Python 3.12
- Python 3.11
- Python 3.10
-
Topics:
- Libraries
- Python Modules
- Software Development