Marshall python objects to and from JSON
Pymarshaler
Pymarshaler allows you to marshal and unmarshal any python object directly to and from a JSON formatted string.
Pymarshaler takes advantage of python’s new typing support. By reading class init param types, we are able to walk down nested JSON structures and assign appropriate values.
Basic Usage
Declare a class with typing information
class Test:
def __init__(self, name: str):
self.name = name
That’s it! We can now marshal, and more importantly, unmarshal this object to and from JSON.
from pymarshaler.marshal import Marshal
import json
test_instance = Test('foo')
blob = Marshal.marshal(test_instance)
print(blob)
>>> '{name: foo}'
marshal = Marshal()
result = marshal.unmarshal(Test, json.loads(blob))
print(result.name)
>>> 'foo'
We also use marshal.unmarshal_str(cls, str)
if we want to unmarshal directly from the blob source.
This is a