-
-
Notifications
You must be signed in to change notification settings - Fork 0
json
This class includes methods for advanced working with JSON files and 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