1
Fork 0
mirror of https://github.com/RGBCube/JsonWrapper synced 2025-07-27 11:47:45 +00:00
No description
Find a file
2022-01-26 22:34:08 +03:00
json_wrapper.py Add files via upload 2022-01-26 22:14:06 +03:00
LICENSE Create LICENSE 2022-01-25 23:29:14 +03:00
README.md pypi 2022-01-26 22:34:08 +03:00
setup.py L 2022-01-26 22:31:36 +03:00

🈷️ JsonWrapper

Easy to use JSON wrapper packed with features.

View it on PyPi: https://pypi.org/project/json-wrapper/

📥 Usage

Execute pip install json-wrapper.

Add from json_wrapper import JsonWrapper to the top of your project.

📄 Docs

Assume that we did db = JsonWrapper("example.json")

db.set(key: str, value, *, pathmagic="")

Sets the key to the value in the JSON.

if the pathmagic kwarg is given, it will spit it by the +'s and make dicts(or use existing ones) until it finishes, then it will set the value to the key in the last dict.

Note that the pathmagic kwarg will override its path if it isnt a dict.

db.get(key: str, *, default=None, pathmagic="")

Returns the value of the key in the json, if the key isn't set in the json, it returns the default kwarg.

if the pathmagic kwarg is given, it will spit it by the +'s and follow the path in it in the JSON data, it will return the default kwarg if the path is empty or has a value that isnt a dict.

db.all()

Returns all the JSON data.

db.rem(key: str, *, pathmagic="")

Removes the key and value pair from the JSON.

Note that this will not do anything if the key isn't set in the JSON or the path is invalid.

if the pathmagic kwarg is given, it will spit it by the +'s and follow the path in it in the JSON data, then it will remove the key and value pair.

db.nuke()

Deletes everything in the JSON.

Use with caution.

📘 Examples

Assume that the example.json file is empty

db.set()

Normal usage

Code

from json_wrapper import JsonWrapper

db = JsonWrapper("example.json")

db.set("test", 123)

data = db.all()

print(data)

Output

{'test': 123}

Using with pathmagic kwarg

Code

from json_wrapper import JsonWrapper

db = JsonWrapper("example.json")

db.set("test", 123, pathmagic="a+b+c")

data = db.all()

print(data)

Output

{'a': {'b': {'c': {'test': 123}}}}

db.get()

Normal usage

Code

from json_wrapper import JsonWrapper

db = JsonWrapper("example.json")

db.set("test", 123)

data = db.get("test")

print(data)

Output

123

Using without default kwarg

Code

from json_wrapper import JsonWrapper

db = JsonWrapper("example.json")

data = db.get("test")

print(data)

Output

None

Using with default kwarg

Code

from json_wrapper import JsonWrapper

db = JsonWrapper("example.json")

data = db.get("test", default=123)

print(data)

Output

123

Using with pathmagic kwarg

Code

from json_wrapper import JsonWrapper

db = JsonWrapper("example.json")

db.set("test", 123, pathmagic="a+b+c")

data = db.get("test", pathmagic="a+b+c")

print(data)

Output

123

db.rem()

Normal usage

Code

from json_wrapper import JsonWrapper

db = JsonWrapper("example.json")

db.set("test", 123)

data = db.all()

print(data)

db.rem("test")

data = db.all()

print(data)

Output

{'test': 123}
{}

Using with pathmagic kwarg

Code

from json_wrapper import JsonWrapper

db = JsonWrapper("example.json")

db.set("test", 123, pathmagic="a+b+c")

data = db.all()

print(data)

db.rem("test", pathmagic="a+b+c")

data = db.all()

print(data)

Output

{'a': {'b': {'c': {'test': 123}}}}
{'a': {'b': {'c': {}}}}