JSON,即JavaScript Object Notation,是一種輕量級的數據交換格式。它基於ECMAScript的一個子集。python
dumps()函數語法以下:json
json.dumps(obj, skipkeys=False, ensure_ascii=True, check_circular=True, allow_nan=True, cls=None, indent=None, separators=None, encoding="utf-8", default=None, sort_keys=False, **kw)
skipkeys
:默認值是False,若是dict的keys內的數據不是python的基本類型,設置爲False時,就會報TypeError的錯誤。此時設置成True,則會跳過這類key 。ensure_ascii
:爲True的時候,全部非ASCII碼字符顯示爲uXXXX序列,只需在dump時將ensure_ascii設置爲False便可,此時存入json的中文便可正常顯示。check_circular
:若是爲false,則將跳過容器類型的循環引用檢查,循環引用將致使溢出錯誤。allow_nan
:若是爲爲false,那麼嚴格按照JSON規範序列化超出範圍的浮點值將是一個valueerror,而不是使用JavaScript等效值。indent
:根據數據格式縮進顯示,讀起來更加清晰,indent的數值,表明縮進的位數。separators
:更改默認分隔符,美化輸出結果。sort_keys
:將數據根據keys的值進行排序。實例:以下所示,將python對象轉爲json格式函數
import json data = { "name": "Mark", "sex": "man", "age": 36 } data_json = json.dumps(data) print(data_json) # {"name": "Mark", "sex": "man", "age": 36}
實例:以下所示,從test.json文件中讀取數據編碼
import json f = open('test.json', 'r', encoding='utf-8') print(json.load(f)) # {'name': 'Mark', 'sex': 'man', 'age': 36}
loads()函數語法以下:code
json.loads(s[, encoding[, cls[, object_hook[, parse_float[, parse_int[, parse_constant[, object_pairs_hook[, **kw]]]]]]]])
實例:以下所示,將JSON數據轉爲Python對象對象
import json data = '{"name":"Mark", "sex":"man", "age":36}' result = json.loads(data) print(result) # {'name': 'Mark', 'sex': 'man', 'age': 36} print(result["name"]) # Mark
實例:以下所示,將content數據寫入test.json文件中排序
import json content = '{"name":"Tom", "sex":"man", "age":36}' f = open('test.json', 'w', encoding='utf-8') json.dump(content, f)
"{\"name\":\"Tom\", \"sex\":\"man\", \"age\":36}"
Python | JSON |
---|---|
dict | Object |
list | Array |
tuple | Array |
str | String |
int | Number |
float | Number |
True | true |
False | false |
None | null |