Python之dict(或?qū)ο?與json之間的互相轉(zhuǎn)化實(shí)例
在Python語(yǔ)言中,json數(shù)據(jù)與dict字典以及對(duì)象之間的轉(zhuǎn)化,是必不可少的操作。
在Python中自帶json庫(kù)。通過(guò)import json導(dǎo)入。
在json模塊有2個(gè)方法,
loads():將json數(shù)據(jù)轉(zhuǎn)化成dict數(shù)據(jù)
dumps():將dict數(shù)據(jù)轉(zhuǎn)化成json數(shù)據(jù)
load():讀取json文件數(shù)據(jù),轉(zhuǎn)成dict數(shù)據(jù)
dump():將dict數(shù)據(jù)轉(zhuǎn)化成json數(shù)據(jù)后寫(xiě)入json文件
下面是具體的示例:
dict字典轉(zhuǎn)json數(shù)據(jù)
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()
對(duì)象轉(zhuǎn)json數(shù)據(jù)
import json
def obj_to_json():
stu = Student('007', '007', 28, 'male', '13000000000', '123@qq.com')
print(type(stu)) # <class 'json_test.student.Student'>
stu = stu.__dict__ # 將對(duì)象轉(zhuǎn)成dict字典
print(type(stu)) # <class 'dict'>
print(stu) # {'id': '007', 'name': '007', 'age': 28, 'sex': 'male', 'phone': '13000000000', 'email': '123@qq.com'}
j = json.dumps(obj=stu)
print(j) # {"id": "007", "name": "007", "age": 28, "sex": "male", "phone": "13000000000", "email": "123@qq.com"}
if __name__ == '__main__':
obj_to_json()
json數(shù)據(jù)轉(zhuǎn)成dict字典
import json
def json_to_dict():
j = '{"id": "007", "name": "007", "age": 28, "sex": "male", "phone": "13000000000", "email": "123@qq.com"}'
dict = json.loads(s=j)
print(dict) # {'id': '007', 'name': '007', 'age': 28, 'sex': 'male', 'phone': '13000000000', 'email': '123@qq.com'}
if __name__ == '__main__':
json_to_dict()
json數(shù)據(jù)轉(zhuǎn)成對(duì)象
import json
def json_to_obj():
j = '{"id": "007", "name": "007", "age": 28, "sex": "male", "phone": "13000000000", "email": "123@qq.com"}'
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: 123@qq.com
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) # 會(huì)在目錄下生成一個(gè)1.json的文件,文件內(nèi)容是dict數(shù)據(jù)轉(zhuǎn)成的json數(shù)據(jù)
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()
以上這篇Python之dict(或?qū)ο?與json之間的互相轉(zhuǎn)化實(shí)例就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
- 在python中利用dict轉(zhuǎn)json按輸入順序輸出內(nèi)容方式
- python 實(shí)現(xiàn)dict轉(zhuǎn)json并保存文件
- Python XML轉(zhuǎn)Json之XML2Dict的使用方法
- 對(duì)python中dict和json的區(qū)別詳解
- 詳解python中的json和字典dict
- Python 提取dict轉(zhuǎn)換為xml/json/table并輸出的實(shí)現(xiàn)代碼
- python3 dict ndarray 存成json,并保留原數(shù)據(jù)精度的實(shí)例
- python3 json數(shù)據(jù)格式的轉(zhuǎn)換(dumps/loads的使用、dict to str/str to dict、json字符串/字典的相互轉(zhuǎn)換)
- python Yaml、Json、Dict之間的轉(zhuǎn)化
相關(guān)文章
Django中在xadmin中集成DjangoUeditor過(guò)程詳解
這篇文章主要介紹了Django中在xadmin中集成DjangoUeditor過(guò)程詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-07-07
對(duì)python sklearn one-hot編碼詳解
今天小編就為大家分享一篇對(duì)python sklearn one-hot編碼詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-07-07
Python簡(jiǎn)明講解filter函數(shù)的用法
本文和你一起來(lái)探索Python中的filter函數(shù),讓你以最短的時(shí)間明白這個(gè)函數(shù)的原理。也可以利用碎片化的時(shí)間鞏固這個(gè)函數(shù),讓你在處理工作過(guò)程中更高效2022-06-06
Python環(huán)境下安裝PyGame和PyOpenGL的方法
這篇文章主要介紹了Python環(huán)境下安裝PyGame和PyOpenGL的方法,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-03-03
Python機(jī)器學(xué)習(xí)之手寫(xiě)KNN算法預(yù)測(cè)城市空氣質(zhì)量
KNN(K-Nearest Neighbor)最鄰近分類算法是數(shù)據(jù)挖掘分類(classification)技術(shù)中常用算法之一,本文將介紹如何通過(guò)KNN算法實(shí)現(xiàn)城市空氣質(zhì)量的預(yù)測(cè),感興趣的同學(xué)可以了解一下2021-12-12
keras的get_value運(yùn)行越來(lái)越慢的解決方案
這篇文章主要介紹了keras的get_value運(yùn)行越來(lái)越慢的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-05-05
熵值法原理及Python實(shí)現(xiàn)的示例詳解
熵值法也稱熵權(quán)法,是學(xué)術(shù)研究及實(shí)際應(yīng)用中的一種常用且有效的編制指標(biāo)的方法。本文就來(lái)和大家聊聊熵值法原理及Python實(shí)現(xiàn),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2023-02-02

