Json raw data to object
Project description
Usage
@dataclass
class Data:
str_data: str
int_data: int
@dataclass
class DictData:
str_data: str
dict_data: Optional[Dict]
@dataclass
class RecursiveData:
str_data: str
dict_data: Data
json_data1 = {
'str_data': 'test',
'int_data': 123
}
json_data2 = {,
'str_data': 'test',
'dict_data': {'key1': 123, 'key2': 456}
}
json_data3 = {,
'str_data': 'test',
'dict_data': {'str_data': 'test', 'int_data': 456}
}
print(jsontofu.decode(json_data1, Data)) # Data(str_data="test", int_data=123)
print(jsontofu.decode(json_data2, DictData)) # DictData(str_data="test", dict_data={'key1': 123, 'key2': 456})
print(jsontofu.decode(json_data3, RecursiveData)) # RecursiveData(str_data="test", Data(str_data="test", int_data=456)
Installation
pip install git+git://github.com/rondou/jsontofu.git
or
pipenv install 'git+ssh://git@github.com/rondou/jsontofu.git#egg=jsontofu'
Development
pipenv install
pipenv install -d
pipenv run "pytest -s"
Coverage
pipenv run 'pytest tests --cov=jsontofu'
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
jsontofu-1.0.0.tar.gz
(2.5 kB
view details)
Built Distribution
File details
Details for the file jsontofu-1.0.0.tar.gz
.
File metadata
- Download URL: jsontofu-1.0.0.tar.gz
- Upload date:
- Size: 2.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.0.0 CPython/3.6.10 Darwin/19.5.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 282d0043b6db948669aab4fcf61ac1ff6e1a31a5197abfc9c2b2f4fe27249b05 |
|
MD5 | 92a5430b677c46eec8c7bf5f0e17a5e5 |
|
BLAKE2b-256 | 8a549141e323b2f7f95343f2854b8ba0de4581ebdfe6d0516ead53d1c14fd901 |
File details
Details for the file jsontofu-1.0.0-py3-none-any.whl
.
File metadata
- Download URL: jsontofu-1.0.0-py3-none-any.whl
- Upload date:
- Size: 2.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.0.0 CPython/3.6.10 Darwin/19.5.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 61f0e15a9512a708ba2b78b475f9f5d9194dfe6d12ebd968cb82c5e236afc937 |
|
MD5 | e37c73b4a3db0793e09579d65b83d06c |
|
BLAKE2b-256 | 2c4028c15efc074ace3e258a46ac454db97f3b36e9efe2c42e014e2fbd2eccc9 |