在Python語言中,json數據與dict字典以及對象之間的轉化,是必不可少的操作。 在Python中自帶json庫。通過import json導入。 在json模塊有2個方法, loads():將json數據轉化成dict數據 dumps():將dict數據轉化成json數據 load():讀取 ...
在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 json
def 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()
對象轉json數據
import json
def 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()
json數據轉成dict字典
import json
def 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()
PS:遇到問題沒人解答?需要Python學習資料?可以加點擊下方鏈接自行獲取
note.youdao.com/noteshare?id=2dce86d0c2588ae7c0a88bee34324d76
json數據轉成對象
import json
def 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()
json的load()與dump()方法的使用
- dump()方法的使用
import json
def 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()
- load()的使用
import json
def 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()