Self-Use Python lib
Project description
Self-Use Python Lib
DirTree
Json To Object
Usage
more info in json_test_cases
import selfusepy
obj: One = selfusepy.parse_json(jsoStr, One())
Notice
Because Python is not a strongly-typed language, so you must
assign a value when you define a variable in class,
otherwise the parse can not get the right type of each variable,
just like examples below
e.g. 1
Python Class
from selfusepy.jsonparse import BaseJsonObject
class One(BaseJsonObject):
def __init__(self):
self.x: str = '' # have to be assigned
self.two: One.Two = One.Two()
class Two(BaseJsonObject):
def __init__(self):
self.y: str = ''
self.three: One.Two.Three = One.Two.Three()
class Three(BaseJsonObject):
def __init__(self):
self.z: str = ''
Json str
{
"x": "x",
"two": {
"y": "y",
"three": {
"z": "z"
}
}
}
e.g. 2
Python Class
from selfusepy.jsonparse import BaseJsonObject
from typing import List
class One1(BaseJsonObject):
def __init__(self):
self.x: str = ''
self.two: List[One1.Two] = [One1.Two()]
class Two(BaseJsonObject):
def __init__(self):
self.y: str = ''
Json str
{
"x": "x",
"two": [
{
"y": "y1"
},
{
"y": "y2"
}
]
}
e.g. 4
from selfusepy.jsonparse import DeserializeConfig, BaseJsonObject
from selfusepy.utils import override_str
@override_str
@DeserializeConfig({'x--': 'x'})
class One2(BaseJsonObject):
def __init__(self):
self.x: str = ''
self.two: One2.Two = One2.Two()
@override_str
@DeserializeConfig({'y--': 'y'})
class Two(BaseJsonObject):
def __init__(self):
self.y: str = ''
self.three: One2.Two.Three = One2.Two.Three()
@override_str
@DeserializeConfig({'z--': 'z'})
class Three(BaseJsonObject):
def __init__(self):
self.z: str = ''
Json str
{
"x--": "x",
"two": {
"y--": "y",
"three": {
"z--": "z"
}
}
}
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
selfusepy-0.0.12.tar.gz
(28.6 kB
view hashes)