Python字典模拟为javascript对象

将python字典转化为模拟的javascript {}的使用方法

def toJsDict(d:dict):
    '''
    d:需要转换的字典
    转换后可以读取,修改
    '''
    class JSD():
        def __init__(self, d):
            for key, value in d.items():
                if isinstance(value, dict):
                    value = tojsdict(value)
                self.__setattr__(key, value)
        # 让object不输出自己的地址,而是输出内容
        def __repr__(self):
            return str(self.__dict__)
    return JSD(d)


d = tojsdict(
    {'address': '5412 N CLARK',
     'date': {'year': '2021', 'month': '10',
              'day': {'hour': 12, 'min': 3}}
     }
)

d.date.day.hour #print 12
from collections import namedtuple
def tojsdict(d):
    k=[]
    v=[]
    for key,value in d.items():
        k.append(key)
        v.append(value)
    JSD = namedtuple('jsb', k)
    return JSD(*v)

d={'address': '5412 N CLARK', 'date': '07/01/2012'}
a=tojsdict(d)
a.address # '5412 N CLARK'