json.dumps() 方法 將一個Python數(shù)據(jù)結(jié)構(gòu)轉(zhuǎn)換為JSON字符串
import json
data = [{"name":"張","age":20},{"name":"王","age":21}]
json_str=json.dumps(data, ensure_ascii=False)
print(json_str)
輸出為
[{"name": "張", "age": 20}, {"name": "王", "age": 21}]
這樣的格式一般都不優(yōu)美,當(dāng)數(shù)據(jù)很多的時候,看得就不是很直觀方便。
可以使用indent=4
參數(shù)來對json進(jìn)行數(shù)據(jù)格式化輸出,會根據(jù)數(shù)據(jù)格式縮進(jìn)顯示,讀起來更加清晰
用法如下
import json
data = [{"name":"張","age":20},{"name":"王","age":21}]
json_str=json.dumps(data, indent=4, ensure_ascii=False)
print(json_str)
輸出為
[
{
"name": "張",
"age": 20
},
{
"name": "王",
"age": 21
}
]
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)
文章來源:http://www.zghlxwxcb.cn/news/detail-474617.html
-
obj
轉(zhuǎn)化成json的對象。 -
skipkeys
默認(rèn)值是False,如果dict的keys內(nèi)的數(shù)據(jù)不是python的基本類型(str,unicode,int,long,float,bool,None),設(shè)置為False時,就會報(bào)TypeError的錯誤。此時設(shè)置成True,則會跳過這類key 。 -
ensure_ascii=True
默認(rèn)True輸出ASCLL碼,設(shè)置為False時可以輸出中文. -
check_circular
如果為false,則跳過對容器類型的循環(huán)引用檢查,循環(huán)引用將導(dǎo)致溢出錯誤(或更糟的情況)。 -
allow_nan
:如果為False,則ValueError將序列化超出范圍的浮點(diǎn)值(nan、inf、-inf),嚴(yán)格遵守JSON規(guī)范,而不是使用JavaScript等價(jià)值(nan、Infinity、-Infinity)。 -
indent
根據(jù)數(shù)據(jù)格式縮進(jìn)顯示,讀起來更加清晰。 -
separators
是分隔符的意思,參數(shù)意思分別為不同dict項(xiàng)之間的分隔符和dict項(xiàng)內(nèi)key和value之間的分隔符,把:和,后面的空格都除去了。 -
default
default(obj)是一個函數(shù),它應(yīng)該返回一個可序列化的obj版本或引發(fā)類型錯誤。默認(rèn)值只會引發(fā)類型錯誤。 -
sort_keys =True
是告訴編碼器按照字典排序(a到z)輸出。如果是字典類型的python對象,就把關(guān)鍵字按照字典排序。
一般而言,格式化輸出json字符串建議使用以下這3個參數(shù)即可json.dumps(data, indent=4, ensure_ascii=False, sort_keys=True)
文章來源地址http://www.zghlxwxcb.cn/news/detail-474617.html
到了這里,關(guān)于Python(21)json.dumps()使用indent參數(shù) 格式化輸出json數(shù)據(jù)格式的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!