Skip to main content

Strongly typed JSON (un)marshal library

Project description

Strongly typed (un)marshaller between Python object and JSON inspired by Golang’s “encode/json” library.

Short example

Here is a pitch for TypedMarshal.

Let there be a JSON model definition:

from typedmarshal import MarshalModel

class SampleModel(MarshalModel):
    name: str = None
    age: int = None
    hobbies: List[str] = []

Then unmarshal JSON:

js_str = '''
{
    "name": "Hatsune Miku",
    "age": 16,
    "hobbies": ["Sing a song", "Dance to music", "Eat negi"]
}
'''

js_obj = SampleModel()
js_obj.load_json(js_str)

Now defined attributes are available to use:

>>> js_obj.name
'Hatsune Miku'

>>> js_obj.hobbies
['Sing a song', 'Dance to music', 'Eat negi']

Voila!

Development progress

It’s still in alpha and unstable. Everything may change in future.

Contributing

TBD

License

This library is released under BSD License.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

typedmarshal-0.0.1-py3-none-any.whl (4.7 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page