標籤:pen 不可 ram 檔案 any json模組 one TE keyword
Python之dict(或對象)與json之間的互相轉化
在Python語言中,json資料與dict字典以及對象之間的轉化,是必不可少的操作。
在Python中內建json庫。通過import json匯入。
在json模組有2個方法,
loads():將json資料轉化成dict資料
dumps():將dict資料轉化成json資料
load():讀取json檔案資料,轉成dict資料
dump():將dict資料轉化成json資料後寫入json檔案
下面是具體的樣本:
dict字典轉json資料
import jsondef dict_to_json(): dict = {} dict[‘name‘] = ‘many‘ dict[‘age‘] = 10 dict[‘sex‘] = ‘male‘ print(dict) # 輸出:{‘name‘: ‘many‘, ‘age‘: 10, ‘sex‘: ‘male‘} j = json.dumps(dict) print(j) # 輸出:{"name": "many", "age": 10, "sex": "male"}if __name__ == ‘__main__‘: dict_to_json()
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
對象轉json資料
import jsondef obj_to_json(): stu = Student(‘007‘, ‘007‘, 28, ‘male‘, ‘13000000000‘, ‘[email protected]‘) print(type(stu)) # <class ‘json_test.student.Student‘> stu = stu.__dict__ # 將對象轉成dict字典 print(type(stu)) # <class ‘dict‘> print(stu) # {‘id‘: ‘007‘, ‘name‘: ‘007‘, ‘age‘: 28, ‘sex‘: ‘male‘, ‘phone‘: ‘13000000000‘, ‘email‘: ‘[email protected]‘} j = json.dumps(obj=stu) print(j) # {"id": "007", "name": "007", "age": 28, "sex": "male", "phone": "13000000000", "email": "[email protected]"}if __name__ == ‘__main__‘: obj_to_json()
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
json資料轉成dict字典
import jsondef json_to_dict(): j = ‘{"id": "007", "name": "007", "age": 28, "sex": "male", "phone": "13000000000", "email": "[email protected]"}‘ dict = json.loads(s=j) print(dict) # {‘id‘: ‘007‘, ‘name‘: ‘007‘, ‘age‘: 28, ‘sex‘: ‘male‘, ‘phone‘: ‘13000000000‘, ‘email‘: ‘[email protected]‘}if __name__ == ‘__main__‘: json_to_dict()
json資料轉成對象
import jsondef json_to_obj(): j = ‘{"id": "007", "name": "007", "age": 28, "sex": "male", "phone": "13000000000", "email": "[email protected]"}‘ dict = json.loads(s=j) stu = Student() stu.__dict__ = dict print(‘id: ‘ + stu.id + ‘ name: ‘ + stu.name + ‘ age: ‘ + str(stu.age) + ‘ sex: ‘ + str( stu.sex) + ‘ phone: ‘ + stu.phone + ‘ email: ‘ + stu.email) # id: 007 name: 007 age: 28 sex: male phone: 13000000000 email: [email protected]if __name__ == ‘__main__‘: json_to_obj()
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
json的
load()與
dump()方法的使用
import jsondef dict_to_json_write_file(): dict = {} dict[‘name‘] = ‘many‘ dict[‘age‘] = 10 dict[‘sex‘] = ‘male‘ print(dict) # {‘name‘: ‘many‘, ‘age‘: 10, ‘sex‘: ‘male‘} with open(‘1.json‘, ‘w‘) as f: json.dump(dict, f) # 會在目錄下產生一個1.json的檔案,檔案內容是dict資料轉成的json資料if __name__ == ‘__main__‘: dict_to_json_write_file()
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
import jsondef json_file_to_dict(): with open(‘1.json‘, ‘r‘) as f: dict = json.load(fp=f) print(dict) # {‘name‘: ‘many‘, ‘age‘: 10, ‘sex‘: ‘male‘}if __name__ == ‘__main__‘: json_file_to_dict()
python中json與dict之間轉換