https://github.com/abhimanyuhk/jangli
Convert json to python object and vice versa
https://github.com/abhimanyuhk/jangli
json object python
Last synced: about 2 months ago
JSON representation
Convert json to python object and vice versa
- Host: GitHub
- URL: https://github.com/abhimanyuhk/jangli
- Owner: AbhimanyuHK
- License: mit
- Created: 2019-05-28T07:16:28.000Z (about 7 years ago)
- Default Branch: master
- Last Pushed: 2020-08-20T07:46:07.000Z (almost 6 years ago)
- Last Synced: 2025-01-05T12:28:30.631Z (over 1 year ago)
- Topics: json, object, python
- Language: Python
- Homepage:
- Size: 31.3 KB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# `Jangli`
### Scope
* Data Definition
* Data mapping
### Convert json to python object
Convert json or dict to model object.
#### Supports
* dict
* json
* json dumps
```
from jangli.json_to_object import json_to_obj
data = '{"password": "123456", "id": 1, "name": "john"}'
class Student:
def __init__(self):
self.id = None
self.name = None
self.password = None
s = json_to_obj(data, Student)
print(s.name)
```
### Convert json to python object with static variable
Convert json or dict to model object. Class containing static variables
#### Supports
* dict
* json
* json dumps
```
from jangli.json_to_object import json_to_obj
data_2 = '{"password": "123456", "id": 1, "name": "john", "school" : "SOHS"}'
class Student:
school = None
def __init__(self):
self.id = None
self.name = None
self.password = None
s2 = json_to_obj(data_2, Student)
print(s2.school)
```
### Custom object list
Create list of similar object. Pass a model which you want create a list.
It only allows model objects which model passed whle creating list of objects.
```
from jangli.list_of_object import ListObject
class A:
def __init__(self, b):
self.b = b
lt = ListObject(A)
lt.append(A(7))
lt.insert(1, A(8))
print(lt)
Output : [<__main__.A object at 0x00CA3730>, <__main__.A object at 0x00CC6E10>]
```
### Case Change to CamelCase
Converter snack case to camel case.
```
from jangli.case_type import CamelCase
@CamelCase
class NewClass:
def __init__(self):
self.a = 7
self.b = "hi"
self.c = True
self._from = None
new = NewClass()
print(new.__dict__)
```
### String of None to None
Change string of None to None,
EX :
String of None is : x = 'None'
After change : x = None
```
from jangli.checker.none_checker import NoneChecker
@NoneChecker
class A:
def __init__(self):
self.b = 8
self.c = "None"
self.d = True
print(A().__dict__)
>>> {'b': 8, 'c': None, 'd': True}
```
### Re-Try Function
If a function failed one or many times, you can retry N no. of times just by passing retry_value = ?.
#### If retry_value = 1
A function will execute ones, mean while any error any occurring function will through exception.
```
@Retry(retry_value=1)
def x_fun():
print("Function is executing ones")
```
#### If retry_value = 2
A function will execute twice if first execution fails else only ones.
```
@Retry(retry_value=2)
def x_fun():
print("raise exception")
raise Exception("Try twice")
```
#### If retry_value = 0
A function is disabled and could not execute the function.
```
@Retry(retry_value=0)
def x_fun():
print("Function is disabled")
```