JSON文件
備注1:JSON 編碼支持的基本類型有 None、bool、int、float 和 str,同時也包含由這些基本類型組成的列表以及字典。對於字典,JSON 會假設所有鍵(key)都是字符串(字典中任何非字符串的鍵在編碼時都會被轉換為字符串)。一般來說,把 JSON 最頂層對象定義為字典是一種標准做法。
備注2:JSON 編碼格式與 Python 語法基本相同,有幾處細微區別,如
True
會被映射為true
,False
會被映射為false
,None
會被映射為null
。
以下為常用的讀取和寫入 json
文件的函數:
import json
# 讀取 json 文件
def read_json(fpath):
"""Reads json file from a path."""
with open(fpath, 'r') as f:
obj = json.load(f)
return obj
# 寫入 json 文件,並格式化
def write_json(obj, fpath):
"""Writes to a json file."""
mkdir_if_missing(osp.dirname(fpath))
with open(fpath, 'w') as f:
json.dump(obj, f, indent=4, separators=(',', ': '))
備注:在寫入
json
文件時,如果不需要格式化,可將最后一行改為json.dump(obj)
。