介紹:JSON臼氨,即JavaScript Object Notation傀蓉,是一種輕量級的數(shù)據(jù)交換格式赶么。它基于ECMAScript的一個子集隘击。
json.dumps():將 Python對象轉(zhuǎn)換編碼成JSON字符串
dumps()函數(shù)語法如下:
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
:默認(rèn)值是False瘟仿,如果dict的keys內(nèi)的數(shù)據(jù)不是python的基本類型箱锐,設(shè)置為False時,就會報TypeError的錯誤劳较。此時設(shè)置成True驹止,則會跳過這類key 。 -
ensure_ascii
:為True的時候兴想,所有非ASCII碼字符顯示為\uXXXX序列幢哨,只需在dump時將ensure_ascii設(shè)置為False即可,此時存入json的中文即可正常顯示嫂便。 -
check_circular
:如果為false捞镰,則將跳過容器類型的循環(huán)引用檢查,循環(huán)引用將導(dǎo)致溢出錯誤毙替。 -
allow_nan
:如果為為false岸售,那么嚴(yán)格按照J(rèn)SON規(guī)范序列化超出范圍的浮點(diǎn)值將是一個valueerror,而不是使用JavaScript等效值厂画。 -
indent
:根據(jù)數(shù)據(jù)格式縮進(jìn)顯示凸丸,讀起來更加清晰,indent的數(shù)值袱院,代表縮進(jìn)的位數(shù)屎慢。 -
separators
:更改默認(rèn)分隔符,美化輸出結(jié)果忽洛。 -
sort_keys
:將數(shù)據(jù)根據(jù)keys的值進(jìn)行排序腻惠。
實(shí)例:如下所示,將python對象轉(zhuǎn)為json格式
import json
data = {
"name": "Mark",
"sex": "man",
"age": 36
}
data_json = json.dumps(data)
print(data_json)
# {"name": "Mark", "sex": "man", "age": 36}
json.load():從文件中讀取json字符串
實(shí)例:如下所示欲虚,從test.json文件中讀取數(shù)據(jù)
import json
f = open('test.json', 'r', encoding='utf-8')
print(json.load(f))
# {'name': 'Mark', 'sex': 'man', 'age': 36}
json.loads():用于解碼 JSON 數(shù)據(jù)集灌,返回 Python 字段的數(shù)據(jù)類型
loads()函數(shù)語法如下:
json.loads(s[, encoding[, cls[, object_hook[, parse_float[, parse_int[, parse_constant[, object_pairs_hook[, **kw]]]]]]]])
實(shí)例:如下所示,將JSON數(shù)據(jù)轉(zhuǎn)為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
json.dump():將json格式字符串寫到文件中
實(shí)例:如下所示复哆,將content數(shù)據(jù)寫入test.json文件中
import json
content = '{"name":"Tom", "sex":"man", "age":36}'
f = open('test.json', 'w', encoding='utf-8')
json.dump(content, f)
test.json文件內(nèi)容如下所示:
"{\"name\":\"Tom\", \"sex\":\"man\", \"age\":36}"
Python 編碼為 JSON 類型轉(zhuǎn)換對照表
在這里插入圖片描述