python物件與json相互轉換
阿新 • • 發佈:2020-12-30
Person.py
""" 類的定義 """ class Person: # 構造方法 def __init__(self, n, a, u): # global name, age self.name = n self.age = a self.url = u # 普通方法 def print_info(self): print('url={},name={},age={}'.format(self.url, self.name, self.age)) if __name__ == '__main__': person = Person('Tom', 100, 'www.baidu.com') person2 = Person('Jerry', 200, 'www.google.cn') person.print_info() person2.print_info() # url=www.baidu.com,name=Tom,age=100 # url=www.google.cn,name=Jerry,age=200
object_to_json.py
""" 物件轉化為json 1.匯入json """ import json from Person import Person def obj_to_json(): # 初始化person物件 # person = Person.Person('Tom', 100, 'www.baidu.com') person = Person('Tom', 100, 'www.baidu.com') print('person物件--->', person) # 將person物件轉化為dict person_dict = person.__dict__ print('person物件轉化為dict--->', person_dict) # 將dict轉化為json person_json = json.dumps(person_dict) print('dict轉化為json', person_json) def json_to_obj(): # 使用上面生成的person_json obj_json = '{"name": "Tom", "age": 100, "url": "www.baidu.com"}' print('原始json物件--->', obj_json) # json轉化為dict person_dict = json.loads(obj_json) print('json物件轉化為dict--->', person_dict) # dict轉化為物件 person = Person('', '', '') person.__dict__ = person_dict print('dict轉化為物件--->', person) if __name__ == '__main__': obj_to_json() print('-------------------------------------------------------------------------') json_to_obj()
person物件---> <Person.Person object at 0x0000027FE19C5E20>
person物件轉化為dict---> {'name': 'Tom', 'age': 100, 'url': 'www.baidu.com'}
dict轉化為json {"name": "Tom", "age": 100, "url": "www.baidu.com"}---------------------------------------------------------------------------------------------------
原始json物件---> {"name": "Tom", "age": 100, "url": "www.baidu.com"}
json物件轉化為dict---> {'name': 'Tom', 'age': 100, 'url': 'www.baidu.com'}
dict轉化為物件---> <Person.Person object at 0x0000027FE19C5E20>