Skip to main content

to_dict

Project description

jsoncodable

Install

pip install jsoncodable
# or
pip3 install jsoncodable

Usage

from jsoncodable import JSONCodable
import json

# ---------------------------------------- Any object to json dict ---------------------------------------- #

class Test1:
    def __init__(self, value: int):
        self.value1 = value
        self.value2 = value * 2
        self.values = [self.value1, self.value2]

class Test2(JSONCodable):
    def __init__(self, value: int):
        self.test1 = Test1(value)

test2 = Test2(5)
print(test2.dict)
# prints:
# 
# {'test1': <__main__.Test1 object at 0x1018199d0>}

print(json.dumps(test2.json, indent=4))
# prints:
# 
# {
#     "test1": {
#         "value1": 5,
#         "value2": 10,
#         "values": [
#             5,
#             10
#         ]
#     }
# }

# ---------------------------------------- Any json dict to object ---------------------------------------- #

class Test3(JSONCodable):
    pass

json_str = '{"name": "John Smith", "hometown": {"name": "New York", "id": 123}}'

print(Test3.from_json(json_str))
# prints:
# 
# JSONCodable(name='John Smith', hometown=JSONCodable(name='New York', id=123))

print(Test3.from_json(json.loads(json_str)))
# prints:
# 
# JSONCodable(name='John Smith', hometown=JSONCodable(name='New York', id=123))

Project details


Download files

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

Source Distribution

to_dict-0.0.7.tar.gz (2.3 kB view details)

Uploaded Source

Built Distribution

to_dict-0.0.7-py3-none-any.whl (3.4 kB view details)

Uploaded Python 3

File details

Details for the file to_dict-0.0.7.tar.gz.

File metadata

  • Download URL: to_dict-0.0.7.tar.gz
  • Upload date:
  • Size: 2.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/47.1.1 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/3.7.6

File hashes

Hashes for to_dict-0.0.7.tar.gz
Algorithm Hash digest
SHA256 bd275b6bdd49506da06203e28ad9b9794e63e8b7770e036a7bfd4793663f6dc3
MD5 17616a9c4fdbfd5fea81f722fdcc07f9
BLAKE2b-256 5a04f2b5a96908aba73b1c5cd6b3de47f49e7dbaf58fb544cc13fdf0f03f8c1a

See more details on using hashes here.

File details

Details for the file to_dict-0.0.7-py3-none-any.whl.

File metadata

  • Download URL: to_dict-0.0.7-py3-none-any.whl
  • Upload date:
  • Size: 3.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/47.1.1 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/3.7.6

File hashes

Hashes for to_dict-0.0.7-py3-none-any.whl
Algorithm Hash digest
SHA256 ff2c0abcbc48440d8a145bfffd906cbeb31f497faa0f3daa69adfeb65b17dcb2
MD5 e9b5ebc00cf4a4ab4f5ff416a6157ce9
BLAKE2b-256 3611a611c3ce82b2756d9aea50381719797927a33f1b60368c3d7d3a622a50fd

See more details on using hashes here.

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