python的json模組
阿新 • • 發佈:2018-12-03
JSON (JavaScript Object Notation)是一種使用廣泛的輕量資料格式. Python標準庫中的json模組提供了JSON資料的處理功能。
python中字典格式和json類似,Python中的json庫提供的主要功能, 也是兩者之間的轉換
1、將json串轉為字典,使用loads方法
import json json_str=''' {"name":"小黑","age":18,"sex":"男","age":18} ''' res = json.loads(json_str) #把json串轉為字典 print(type(res)) print(res)
2、將字典轉為json串,使用dumps
import json dic = { "xiaohei":{ "age":18, "password":12345, "sex":"男", "addr":"北京" }, "小白":{ "age":18, "password":12345, "sex":"男", "addr":"北京" }, "小王":{ "age":18, "password":12345, "sex":"男", "addr":"北京" }, } res = json.dumps(dic)#將字典轉為json print(res)
#注意,這樣講所有的漢字轉為ascii碼,可使用下面的方法不轉為ascii碼,且好看
res1 = json.dumps(dic,ensure_ascii=False,indent=4)#其中ensure_ascii=False是不將中文轉為ascii碼,indent是縮排數
3、將一個包含JSON格式資料的可讀檔案轉為字典,使用load,load可以自己讀檔案
with open('text.json','r',encoding='utf-8') as fr: aa = json.loads(fr.read()) fr.seek(0) bb = json.load(fr)# json.load(fr)和json.loads(fr.read()) 返回結果一樣,load可以自己去讀檔案 print(aa) print(bb) #輸出 {'name': '小黑', 'age': 18, 'sex': '男'} {'name': '小黑', 'age': 18, 'sex': '男'}
4、將檔案中的字典格式轉換成json,使用dump
一個動作是將”obj“轉換為JSON格式的字串,還有一個動作是將字串寫入到檔案中
import json dic = { "xiaohei":{ "age":18, "password":12345, "sex":"男", "addr":"北京" }, "小白":{ "age":18, "password":12345, "sex":"男", "addr":"北京" }, "小王":{ "age":18, "password":12345, "sex":"男", "addr":"北京" }, } fw = open('newuser.json','w',encoding='utf-8')#開啟一個新的檔案 aa = json.dump(dic,fw,indent=4,ensure_ascii=False)#將字典寫到該檔案中 print(aa)