python中的Json模塊dumps、dump、loads、load函數(shù)用法詳解
json的作用
JSON (JavaScript Object Notation) 是一種輕量級的數(shù)據(jù)交換格式
json.dumps(): 對數(shù)據(jù)進(jìn)行編碼,把python對象轉(zhuǎn)換為字符串?dāng)?shù)據(jù)
json.loads(): 對數(shù)據(jù)進(jìn)行解碼,把json的字符串轉(zhuǎn)換為python對象
python中的Json模塊dumps、dump、loads、load函數(shù)用法詳解
1、json.dumps()和loads()
json.dumps()將dict類型數(shù)據(jù)轉(zhuǎn)成str。
json.loads()剛好相反,將str類型的數(shù)據(jù)轉(zhuǎn)成dict。
import json data= {'a':'1111','b':'2222','c':'3333','d':'4444'} filename = r"d:\1.json" # 使用dumps() str_data = json.dumps(data) print(str_data) #輸出{"a": "1111", "b": "2222", "c": "3333", "d": "4444"} # 使用loads() dict_data = json.loads(str_data) print(dict_data) #輸出{'a': '1111', 'b': '2222', 'c': '3333', 'd': '4444'}
2、json.dump()和json.load()
json.dump主要用來文件寫入,json.load主要用來文件讀取。但是只能寫入讀取一條數(shù)據(jù),多條會(huì)報(bào)錯(cuò)。
json.dump(x,f),x是對象,f是一個(gè)文件對象,這個(gè)方法可以將json字符串寫入到文件中。
json.load(f),f是一個(gè)文件對象,這個(gè)方法可以從文件中讀取json數(shù)據(jù)。
import json data = {'a':'1111','b':'2222','c':'3333','d':'4444'} filename = r"d:\1.json" # 使用dump()寫入一行數(shù)據(jù) with open(filename, "w") as f: json.dump(data,f) # 使用load()讀取一行數(shù)據(jù) with open(filename, 'r') as f: jsObj = json.load(f) for key in jsObj.keys(): print('key: %s value: %s' % (key,jsObj.get(key)))
輸出:
key: a value: 1111
key: b value: 2222
key: c value: 3333
key: d value: 4444
3、如何讀取寫入多行數(shù)據(jù)呢?
import json filename = r"d:\1.json" data = [{'a':'1111','b':'2222','c':'3333','d':'4444'}, {'e':'1111','f':'2222','g':'3333','h':'4444'}, {'i':'1111','j':'2222','k':'3333','l':'4444'}, {'m':'1111','n':'2222','o':'3333','p':'4444'}] #寫入多行數(shù)據(jù)到文件 with open(filename,'w') as f: for i in range(len(data)): f.write(json.dumps(data[i])+'\n') #一定要換行 #從文件讀取多行數(shù)據(jù),并轉(zhuǎn)化為list with open(filename,'r') as f: jsObj=[json.loads(line) for line in f] print(jsObj)
到此這篇關(guān)于python中的Json模塊dumps、dump、loads、load函數(shù)用法詳解的文章就介紹到這了,更多相關(guān)python json模塊dumps、dump、loads、load函數(shù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
基于Python3 逗號(hào)代碼 和 字符圖網(wǎng)格(詳談)
下面小編就為大家?guī)硪黄赑ython3 逗號(hào)代碼 和 字符圖網(wǎng)格(詳談)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-06-06Python中關(guān)于print和return的區(qū)別
這篇文章主要介紹了Python中關(guān)于print和return的區(qū)別,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-02-02Python數(shù)據(jù)結(jié)構(gòu)樹與算法分析
這篇文章主要介紹了Python數(shù)據(jù)結(jié)構(gòu)樹與算法分析,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下2022-07-07Python?搭建?FastAPI?項(xiàng)目的詳細(xì)過程
這篇文章主要介紹了Python搭建FastAPI項(xiàng)目的過程,本文通過圖文實(shí)例相結(jié)合給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-09-09VSCode配置python環(huán)境及中文問題解決方法
這篇文章主要介紹了VSCode配置python環(huán)境及中文問題,print打印中文亂碼如何解決這個(gè)問題呢,本文給大家?guī)韮煞N方法幫助大家解決這個(gè)問題,需要的朋友可以參考下2022-02-02Python自動(dòng)化辦公之Excel數(shù)據(jù)的寫入
這篇文章主要為大家詳細(xì)介紹一下Python中excel的寫入模塊- xlsxwriter,并利用該模塊實(shí)現(xiàn)Excel數(shù)據(jù)的寫入,感興趣的小伙伴可以了解一下2022-05-05Python3實(shí)現(xiàn)定時(shí)任務(wù)的四種方式
Python實(shí)現(xiàn)定點(diǎn)與定時(shí)任務(wù)方式比較多,找到下面四中實(shí)現(xiàn)方式,每個(gè)方式都有自己應(yīng)用場景;下面來快速介紹Python中常用的定時(shí)任務(wù)實(shí)現(xiàn)方式,一起看看吧2019-06-06