字典转为对象

class dictToObj(object):
    def __init__(self, map):
        self.map = map

    def __setattr__(self, name, value):
        if name == ‘map‘:
             object.__setattr__(self, name, value)
             return
        self.map[name] = value

    def __getattr__(self,name):
        v = self.map[name]
        if isinstance(v, (dict)):
            return dictToObj(v)
        if isinstance(v, (list)):
            r = []
            for i in v:
                r.append(dictToObj(i))
            return r
        else:
            return self.map[name]

    def __getitem__(self,name):
        return self.map[name]
时间: 2024-11-08 19:07:48

字典转为对象的相关文章

字典视图对象

通过dict.viewkkeys(),dict.viewvalues()以及dict.viewitems()的对象称之为视图对象.它们提供了字典对象的一个动态视图,也就是说当字典中内容改变的时候,视图也跟着改变. 字典视图对象可以迭代获取其中的数据. len(dictview) 返回字典视图的大小.   iter(dictview) 返回字典中keys,values或者items的迭代对象.   x  in dictview 如果x在字典的keys.values或者items中时 返回True.

javascript将字符串转为对象

<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title></title> <script> var keyword = window.location.search.substring(1); // 取查询字符串 var pos = keyword.indexOf('='); var argname = keyword.substring(

python里如何将字典转为json字符串

在Pyhton里有一个叫simplejson的库可以方便的将完成对json的生成与解析.这个包里主要有四个方法:dump和dumps由python数据类型生成json,load和loads将json解析成为python的数据类型. load和loads(解析JSON成Python的数据类型)dump和dumps的唯一区别是dump会生成一个类文件对象,dumps会生成字符串,同理load和loads分别解析类文件对象和字符串格式的JSON 在django的HttpResponse中的返回中需要将

python基础(序列,元祖,列表,字典,对象,类)

1.标准的序列操作: 索引.分片.乘法.判断成员资格.求长度.取最大值和最小值 2.python之删除命令的区别: >>> x ['or', 'not', 'to', 'be', 'or', 'be'] del:删除指定索引的值 >>> del x[0] >>> x ['not', 'to', 'be', 'or', 'be'] pop:默认删除最后一个值 >>> x.pop() 'be' >>> x ['not',

【Python】字典或者对象类型中键或者属性的获取与存在性判断

# 定义测试用对象A,字典B class A(object): length = 10 B ={"length":10} # 判断对象是否含有某种属性 # 推荐这种方式,更Pythonic try: x = A.lengt except AttributeError: print("does not have {}".format("lengt")) # 这种low一点 if "leng" in dir(A): print(A

python 字典,元组,对象,数组取值方法

def create(self,cr,uid,vals,context=None): if context is None: context ={} if vals.get('name','/')=='/': vals['name']=self.pool.get('ir.sequence').get(cr,uid,'sale.origin') or '/' ctx=dict(context or {},mail_create_nolog=True) #如果存在这个字段 则不处理 反之 删除本元素

C# 将对象保存为文件 读取文件并转为对象 压缩文件 解压缩文件

using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.IO; using System.Runtime.Serialization.Formatters.Binary; using System.IO.Compression; using System.Diagnostics; namespace chmPrinter { public class Sa

c# json字符串转为对象

string str="你的字符串";  //注意这个字符串必须是“[]”格式的 JavaScriptSerializer js = new JavaScriptSerializer(); List<JqGridSearchTo> jg= js.Deserialize<List<JqGridSearchTo>>(str);

C#中DataRow加扩展方式-转为对象

public static T ConvertToModel<T>(this DataRow dr) { T t = Activator.CreateInstance<T>(); //创建实例 PropertyInfo[] pi = t.GetType().GetProperties();//取类的属性 //属性赋值 foreach (PropertyInfo p in pi) { if (dr.Table.Columns.Contains(p.Name) && !