Allows to serialize python classes into JSON objects and deserialize JSON objects into python classes
Project description
JSON Transform
Json Transform allows you to simply serialize your Python objects into a JSON format and vice versa.
New? Here is some help:
Example
Setup your object.
from jsontransform import field, JsonObject
class Customer(JsonObject):
def __init__(self):
self._first_name = ""
self._age = 0
# set a custom name for the field becuase by default it will be the function name
@property
@field("firstName")
def first_name(self):
return self._first_name
@first_name.setter
def first_name(self, value):
self._first_name = value
@property
@field()
def age(self):
return self._age
@age.setter
def age(self, value):
self._age = value
Instantiate the object and serialize it.
from jsontransform import Serializer
new_customer = Customer()
new_customer.first_name = "Peter"
new_customer.age = 1
# get a dict representation of the object
# result: {"firstName": "Peter", "age": 1}
Serializer.to_json_dict(new_customer)
# we can also write the object directly into a file
with open("new_customer.json", "w") as f:
Serializer.to_json_file(f, new_customer)
Deserialize a JSON file into your object.
JSON file (customer.json):
{
"firstName": "Dennis",
"age": 70
}
Code:
from jsontransform import Deserializer
# we load our customer object
with open("customer.json", "r") as f:
customer = Deserializer.from_json_file(f)
customer.age
# result: 70
customer.first_name
# result: Dennis
More
- Check out the documentation.
- Check out the history
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
json-transform-0.2.0.tar.gz
(6.4 kB
view hashes)
Built Distribution
Close
Hashes for json_transform-0.2.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0fee7dec36a650b24ad0dabad804e255ac903d08559fea561b74db8d01819a88 |
|
MD5 | 48e05f68f6835146a289e472a70e775b |
|
BLAKE2b-256 | d18f99dfc50e49fd20a608aa536fd0d8bf1db8608587001ef418fc2a85a48e3a |