Python實(shí)現(xiàn)的讀寫json文件功能示例
本文實(shí)例講述了Python實(shí)現(xiàn)的讀寫json文件功能。分享給大家供大家參考,具體如下:
相比java,python對(duì)json文件的處理就簡(jiǎn)單很多。java操作json文件的話需要引用jar包及相關(guān)依賴包,想用java操作json的同學(xué)可以去百度,這里就不贅述了。
首先說(shuō)讀json文件
在進(jìn)行json操作之前,首先要了解json的格式,分辨json文件。
json文件格式一般有兩種:
第一種:每行一個(gè)json類似于以下這種形式:
["name":"Tony","age":"21","hobbies" : ["basketball","tennis"]] ["name":"Lisa","age":"20","hobbies" : ["sing","dance"]]
這種json格式是每一行是一個(gè)json,行與行之間沒(méi)有關(guān)聯(lián)。
第二種:一個(gè)文件寫成一個(gè)大的json
[ {"name":"Tony","age":"21","hobbies" : ["basketball","tennis"]}, {"name":"Lisa","age":"20","hobbies" : ["sing","dance"]} ]
這種格式每條記錄之間用,連接。
下面讀取json文件,利用json.load
函數(shù)
f = open('/home/codergray/company/test_2.json') #將json格式的數(shù)據(jù)映射成list的形式 t = json.load(f)
所以t是一個(gè)list,按照正常訪問(wèn)list的方法訪問(wèn)就可以。
str = t[0]['name'] print str
輸出:
Tony
以上面的例子為例,訪問(wèn)t[0]也就是第一條json記錄[‘name']代表name字段,因而就讀出了值“Tony”
寫json文件
寫json一般是上文提到的json格式的第二種格式,也就是整體是一個(gè)大的json。
舉個(gè)例子:
f = open('result.json','w') result = [] temp = {} temp['name'] = 'Tony' temp['age'] = '21' tamp['hobbies'] = ['basketball','tennis'] result.append(temp) f.write(json.dumps(result,ensure_ascii=False))
通過(guò)以上代碼就將一個(gè)json寫進(jìn)了result.json文件,當(dāng)然這個(gè)大json里面只有一條記錄,如果想插入多條記錄可以利用循環(huán)。json.dumps
方法可以看作是json.load
的逆過(guò)程,將list的數(shù)據(jù)格式轉(zhuǎn)化為json存在json文件中。
PS:這里再為大家推薦幾款比較實(shí)用的json在線工具供大家參考使用:
在線JSON代碼檢驗(yàn)、檢驗(yàn)、美化、格式化工具:
http://tools.jb51.net/code/json
JSON在線格式化工具:
http://tools.jb51.net/code/jsonformat
在線XML/JSON互相轉(zhuǎn)換工具:
http://tools.jb51.net/code/xmljson
json代碼在線格式化/美化/壓縮/編輯/轉(zhuǎn)換工具:
http://tools.jb51.net/code/jsoncodeformat
在線json壓縮/轉(zhuǎn)義工具:
http://tools.jb51.net/code/json_yasuo_trans
更多Python相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Python操作json技巧總結(jié)》、《Python編碼操作技巧總結(jié)》、《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python函數(shù)使用技巧總結(jié)》、《Python字符串操作技巧匯總》、《Python入門與進(jìn)階經(jīng)典教程》及《Python文件與目錄操作技巧匯總》
希望本文所述對(duì)大家Python程序設(shè)計(jì)有所幫助。
相關(guān)文章
windows上安裝python3教程以及環(huán)境變量配置詳解
這篇文章主要介紹了windows上安裝python3教程以及環(huán)境變量配置詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-07-07django 簡(jiǎn)單實(shí)現(xiàn)登錄驗(yàn)證給你
這篇文章主要介紹了django 簡(jiǎn)單實(shí)現(xiàn)登錄驗(yàn)證給你,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-11-11Python數(shù)據(jù)分析之Numpy庫(kù)的使用詳解
NumPy(Numerical Python)是Python的一種開源的數(shù)值計(jì)算擴(kuò)展。這種工具可用來(lái)存儲(chǔ)和處理大型矩陣,比Python自身的嵌套列表結(jié)構(gòu)要高效的多(該結(jié)構(gòu)也可以用來(lái)表示矩陣(matrix)),支持大量的維度數(shù)組與矩陣運(yùn)算,此外也針對(duì)數(shù)組運(yùn)算提供大量的數(shù)學(xué)函數(shù)庫(kù)2021-11-11用python 批量更改圖像尺寸到統(tǒng)一大小的方法
下面小編就為大家分享一篇用python 批量更改圖像尺寸到統(tǒng)一大小的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-03-03Python實(shí)現(xiàn)打印九九乘法表的不同方法總結(jié)
這篇文章主要為大家介紹了Python實(shí)現(xiàn)打印九九乘法表的幾種不同方法,文中的示例代碼講解詳細(xì),簡(jiǎn)潔易懂,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2022-11-11