json是一種通用的資料型別
一般情況下介面回傳的資料型別都是json
長得像字典,形式也是k-v{ }
其實json是字串
字串不能用key、value來取值,所以要先轉換成字典才可以
loads方法
import json res = json.loads(s) # s是json类型的字符串 print(res) # 打印字典 print(type(res)) # 打印res类型 print(res.keys()) # 打印字典的所有key
文件操作
f = open('stus.json',encoding='utf-8') content = f.read() # 使用loads()方法需要先读文件 user_dic = json.loads(cotent) print(user_dic)
load方法
import json f = open('stus.json',encoding="utf-8") user_dic = json.load(f) print(user_dic)
區別:
loads( ) 傳的是字串,而load()傳的是檔案物件
使用loads()時需要先讀取檔案在使用,而load()則不用
檔案裡只能寫字串,但是可以把字典轉成json串,json字串是字串,可以寫到檔案裡
drums方法
stus = {'xiaojun':'123456','xiaohei':'7891','abc':'11111'} res2 = json.dumps(stus) # 先把字典转成json print(res2) print(type(res2))
檔案操作
with open('stus.txt','w',encoding='utf-8') as f: # 打开文件 f.write(res2) # 在文件里写入转成的json串
dump()方法
stus={'xiaojun':'123456','xiaohei':'7890','lrx':'111111'} file = open('stus2.json','w',encoding='utf-8') json.dump(stus,file,indent,ensure_ascii=False) # 直接写入文件中,ensure_ascii为False时内容输出显示正常的中文,而不是转码
參數:
indent:字串轉行縮排
#ensure_ascii:是否轉為ASCII碼
#區別:
dump()不需要使用.write()方法,只需要寫那個字典,那個文件即可;而.dumps()需要使用.write()方法寫入.如果把字典寫到文件裡面的時候,dump()好用;但是如果不需要操作文件,或需要把內容存儲到資料庫何excel,則需要使用dumps()先把字典轉換成字串,再寫入
以上是Python中json函式庫的操作方法有哪些的詳細內容。更多資訊請關注PHP中文網其他相關文章!