前提:如果使用進行json操作,首先應該導入json模塊(import json)
備注:json必須是雙引號,單引號它就會報錯
1、json.dump()
把字典變成json格式且存入文件,傳入文件名稱即可,方法會自動進行寫文件操作
import json filename=open("a.txt","w",encoding="utf-8") dic={"zhaozhao":{"price":"4.33","num":"5"}} json.dump(dic,filename)
文件內容:
{"zhaozhao": {"price": "4.33", "num": "5"}}
把字典變成JSON格式寫入文件且保持格式
import json filename=open("a.txt","w",encoding="utf-8") dic={"zhaozhao":{"price":"4.33","num":"5"}} json.dump(dic,filename,ensure_ascii=False,indent=5) #ensure_ascii=False 解決中文亂碼 indent每行空格數 文件內容: { "zhaozhao": { "price": "4.33", "num": "5" } }
2、json.dumps()
把字典變成JSON格式,需手動寫文件
import json filename=open("a.txt","w",encoding="utf-8") dic={"zhaozhao":{"price":"4.33","num":"5"}} str=json.dumps(dic,ensure_ascii=False,indent=5) filename.write(str) #需手動再進行一次寫操作 文件內容: { "zhaozhao": { "price": "4.33", "num": "5" } }
3、json.loads
把JSON格式的字符串轉換為字典,且這種轉換方式,如果字符串存在文件中,需要自己手動執行讀文件到變量中,再進行轉換操作
文件內容: { "zhaozhao": { "price": "4.33", "num": "5" } } import json filename=open("a.txt",encoding="utf-8") str=filename.read() #需要手動讀一次文件 dic=json.loads(str) #json格式轉換為字典 print(dic) 輸出: D:\study\python\test\venv\Scripts\python.exe D:/study/python/test/dd.py {'zhaozhao': {'price': '4.33', 'num': '5'}}
4、json.load
把JSON格式的字符串轉換為字典,且這種轉換方式,如果字符串存在文件中,無需手動讀文件,傳入文件名稱,方法可自動遍歷文件進行轉換
文件內容: { "zhaozhao": { "price": "4.33", "num": "5" } } 代碼: import json filename=open("a.txt",encoding="utf-8") dic=json.load(filename) #json格式轉換為字典,無需讀文件,自動讀文件 print(dic) 執行結果: D:\study\python\test\venv\Scripts\python.exe D:/study/python/test/dd.py {'zhaozhao': {'price': '4.33', 'num': '5'}}
