本文有整理在部落格裡。
裡面還有其他奇怪的文章,有空可以來看看喔。
python有內建json讀寫的套件,但使用前要先import
主要是透過將json轉換成python的dictionary後進行操作再寫回去達成讀寫的效果。
import json
主要會用到這幾種方法:
json.load() : 將json檔案轉換成dictionary
json.dump() : 將dictionary轉換成json檔案
json.loads() : 將字串轉換成python的dictionary
json.dumps() : 將python的dictionary轉換成字串
而json裡的字串和陣列之類的型態也都會換成python自己的型態
舉例來說,有個叫ex.json的json檔長得像下面這樣:
{
"name" : "mrrt",
"score" : 80
}
如果今天想要透過同個資料夾的python檔案將其中的score改成100,拿load/dump會這樣寫:
import json
with open ('ex.json', 'r', encoding='utf8') as i:
jData = json.load(i) #讀取json的資料並轉換成dictionary
jData['score'] = 100
with open ('ex.json', 'w') as i:
json.dump(jData, i) #將dictionary轉換成json檔並寫入原本的檔案
跑完後json檔就會變這樣
以loads/dumps的話就會長得像下面這樣:
import json
with open ('ex.json', 'r') as i:
t = i.read() #以str格式讀取json的資料
jData = json.loads(t) #將str轉換成dictionary
jData['score'] = 100
with open ('ex.json', 'w') as i:
i.write(json.dumps(jData)) #將dictionary轉換成符合json格式的字串並寫入原本的檔案