Python在json中的四個函數(shù)

介紹: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)換對照表

在這里插入圖片描述
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末欣喧,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子梯找,更是在濱河造成了極大的恐慌唆阿,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,464評論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件锈锤,死亡現(xiàn)場離奇詭異驯鳖,居然都是意外死亡饰躲,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,033評論 3 399
  • 文/潘曉璐 我一進(jìn)店門臼隔,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人妄壶,你說我怎么就攤上這事摔握。” “怎么了丁寄?”我有些...
    開封第一講書人閱讀 169,078評論 0 362
  • 文/不壞的土叔 我叫張陵氨淌,是天一觀的道長。 經(jīng)常有香客問我伊磺,道長盛正,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,979評論 1 299
  • 正文 為了忘掉前任屑埋,我火速辦了婚禮豪筝,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘摘能。我一直安慰自己续崖,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 69,001評論 6 398
  • 文/花漫 我一把揭開白布团搞。 她就那樣靜靜地躺著严望,像睡著了一般。 火紅的嫁衣襯著肌膚如雪逻恐。 梳的紋絲不亂的頭發(fā)上像吻,一...
    開封第一講書人閱讀 52,584評論 1 312
  • 那天,我揣著相機(jī)與錄音复隆,去河邊找鬼拨匆。 笑死,一個胖子當(dāng)著我的面吹牛昏名,可吹牛的內(nèi)容都是我干的涮雷。 我是一名探鬼主播,決...
    沈念sama閱讀 41,085評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼轻局,長吁一口氣:“原來是場噩夢啊……” “哼洪鸭!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起仑扑,我...
    開封第一講書人閱讀 40,023評論 0 277
  • 序言:老撾萬榮一對情侶失蹤览爵,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后镇饮,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體蜓竹,經(jīng)...
    沈念sama閱讀 46,555評論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,626評論 3 342
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了俱济。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片嘶是。...
    茶點(diǎn)故事閱讀 40,769評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖蛛碌,靈堂內(nèi)的尸體忽然破棺而出聂喇,到底是詐尸還是另有隱情,我是刑警寧澤蔚携,帶...
    沈念sama閱讀 36,439評論 5 351
  • 正文 年R本政府宣布希太,位于F島的核電站,受9級特大地震影響酝蜒,放射性物質(zhì)發(fā)生泄漏誊辉。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,115評論 3 335
  • 文/蒙蒙 一亡脑、第九天 我趴在偏房一處隱蔽的房頂上張望堕澄。 院中可真熱鬧,春花似錦霉咨、人聲如沸奈偏。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,601評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽惊来。三九已至,卻和暖如春棺滞,著一層夾襖步出監(jiān)牢的瞬間裁蚁,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,702評論 1 274
  • 我被黑心中介騙來泰國打工继准, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留枉证,地道東北人。 一個月前我還...
    沈念sama閱讀 49,191評論 3 378
  • 正文 我出身青樓移必,卻偏偏與公主長得像室谚,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子崔泵,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,781評論 2 361

推薦閱讀更多精彩內(nèi)容