我正在尝试找出基于JSON文件的内容以动态方式创建类的最佳方法是什么。因此,例如,这是JSON文件的一个片段:
{
"stuff": [{
"name": "burger",
"aka": ["cheeseburger", "hamburger"]
},
{
"name": "fries",
"aka": ["french fries", "potatoes"]
},
{
"name": "meal",
"items": [{
"name": "burger",
"value": "<burger>"
},
{
"name": "fries",
"value": "<fries>"
}
]
}
]
}
现在基于此JSON,我想要表示这些对象的类。因此,例如:
class Burger:
def __init__(self):
self.name = "burger"
self.aka = ["cheeseburger", "hamburger"]
class Meal:
def __init__(self):
self.name = "meal"
self.burger = Burger()
self.fries = Fries()
因此,基本上,基于该JSON,我希望能够创建表示与JSON中所见相同的属性和关系的类。任何关于最好的方法来解决这个问题的想法,将不胜感激!
答案 0 :(得分:2)
假设from time import sleep
def _print(n, s): # n = sleep for seconds, s = string to print
while True: # infinite loop
print(s) # print the string
sleep(n) # sleep for number of seconds you specify
sleep(20) # initial sleep of 20 seconds
_print("Hello, World!", 10) # run the custom print function which sleeps for n seconds and prints s string
变量包含您的json数据,请尝试以下操作:
json
它的作用是调用for d in json:
name = d.pop('name')
t = type(name, (object,), d)
,它将在python中创建新类型(与您执行type
的过程完全相同,它正确地将名称设置为class name
变量的内容,具有基类name
和属性object
中的元素。变量d
将包含所需的类对象。