python class對象轉換成json/字典


# -*- encoding: UTF-8 -*-

class Student:
    name = ''
    age = 0
    
    def __init__(self, name, age):
        self.name = name
        self.age = age
    

def convert_to_dict(obj):
    '''把Object對象轉換成Dict對象'''
    dict = {}
    dict.update(obj.__dict__)
    return dict
      
        
def convert_to_dicts(objs):
    '''把對象列表轉換為字典列表'''
    obj_arr = []
    
    for o in objs:
        #把Object對象轉換成Dict對象
        dict = {}
        dict.update(o.__dict__)
        obj_arr.append(dict)
    
    return obj_arr
          

def class_to_dict(obj):
    '''把對象(支持單個對象、list、set)轉換成字典'''
    is_list = obj.__class__ == [].__class__
    is_set = obj.__class__ == set().__class__
    
    if is_list or is_set:
        obj_arr = []
        for o in obj:
            #把Object對象轉換成Dict對象
            dict = {}
            dict.update(o.__dict__)
            obj_arr.append(dict)
        return obj_arr
    else:
        dict = {}
        dict.update(obj.__dict__)
        return dict
   
stu = Student('zhangsan', 20)

print '-----------'
print convert_to_dict(stu)
 
print '-----------'
print convert_to_dicts([stu, stu]) 

print '-----------'
print class_to_dict(stu)

print '-----------'
print class_to_dict([stu, stu])

stua = Student('zhangsan', 20)
stub = Student('lisi', 10)

stu_set = set()
stu_set.add(stua)
stu_set.add(stub)
print class_to_dict(stu_set)

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM