Python实现类似JavaScript 的Json对象

Python实现类似JavaScript 的Json对象

用过js的都知道 js中json也是一个对象,所以可以直接通过class.attr 取值,当attr不存在时也不会报错,那么Python可不可以也实现这样一个类,实现.取值呢 答案肯定是可以的,只需要通过setattr把key,value 写入一个空类中就可以了 最后实例化该类,但是PYthon如果获取了一个不存在的属性会报错,因此就需要重写类的.方法 也就是__getattribute__方法,下面是具体代码。

class TempConfig(object):
      def __getattribute__(self, attr):
            try:
                  return object.__getattribute__(self, attr)
            except:
                  return None
                
            setattr(TempConfig,key,value)
    // 获取属性值  如果不存在就返回None 
TempConfig().abc
这样即使获取了一个错误的属性也不会报错啦