本文實例講述了Python實現的讀寫json文件功能。分享給大家供大家參考,具體如下:
相比java,python對json文件的處理就簡單很多。java操作json文件的話需要引用jar包及相關依賴包,想用java操作json的同學可以去百度,這里就不贅述了。
首先說讀json文件
在進行json操作之前,首先要了解json的格式,分辨json文件。
json文件格式一般有兩種:
第一種:每行一個json類似于以下這種形式:
["name":"Tony","age":"21","hobbies" : ["basketball","tennis"]]["name":"Lisa","age":"20","hobbies" : ["sing","dance"]]
這種json格式是每一行是一個json,行與行之間沒有關聯。
第二種:一個文件寫成一個大的json
[{"name":"Tony","age":"21","hobbies" : ["basketball","tennis"]},{"name":"Lisa","age":"20","hobbies" : ["sing","dance"]}]
這種格式每條記錄之間用,連接。
下面讀取json文件,利用json.load
函數
f = open('/home/codergray/company/test_2.json')#將json格式的數據映射成list的形式t = json.load(f)
所以t是一個list,按照正常訪問list的方法訪問就可以。
str = t[0]['name']print str
輸出:
Tony
以上面的例子為例,訪問t[0]也就是第一條json記錄[‘name']代表name字段,因而就讀出了值“Tony”
寫json文件
寫json一般是上文提到的json格式的第二種格式,也就是整體是一個大的json。
舉個例子:
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))
通過以上代碼就將一個json寫進了result.json文件,當然這個大json里面只有一條記錄,如果想插入多條記錄可以利用循環。json.dumps
方法可以看作是json.load
的逆過程,將list的數據格式轉化為json存在json文件中。
PS:這里再為大家推薦幾款比較實用的json在線工具供大家參考使用:
在線JSON代碼檢驗、檢驗、美化、格式化工具:
http://tools.jb51.net/code/json
JSON在線格式化工具:
http://tools.jb51.net/code/jsonformat
在線XML/JSON互相轉換工具:
http://tools.jb51.net/code/xmljson
json代碼在線格式化/美化/壓縮/編輯/轉換工具:
http://tools.jb51.net/code/jsoncodeformat
在線json壓縮/轉義工具:
http://tools.jb51.net/code/json_yasuo_trans
更多Python相關內容感興趣的讀者可查看本站專題:《Python操作json技巧總結》、《Python編碼操作技巧總結》、《Python數據結構與算法教程》、《Python函數使用技巧總結》、《Python字符串操作技巧匯總》、《Python入門與進階經典教程》及《Python文件與目錄操作技巧匯總》
新聞熱點
疑難解答