課程內(nèi)容
Python入門課程N(yùn)O69課 如何使用json
json的全稱為JavaScript Object Notation,是javascript的對(duì)象標(biāo)記語言,用于將javascript對(duì)象序列化為JSON格式的字符串。與Python一樣,也是一種解釋型的腳本語言。
json數(shù)據(jù)格式:
json這種數(shù)據(jù)格式類似于Python中的列表類型和字典類型:由符號(hào)[]括起來的數(shù)據(jù)集合,或由花括號(hào){}括起來的鍵值對(duì)。 在鍵值對(duì)的數(shù)據(jù)格式中,鍵名必須為字符串類型,鍵值可為以下六種類型:
在json的數(shù)據(jù)格式中,鍵值的數(shù)據(jù)類型可以相互嵌套,由此組合成比較復(fù)雜的json格式。
Python中的json模塊:
在Python內(nèi)置的json模塊中,分別提供了dumps方法以及l(fā)oads方法。前者將Python中的數(shù)據(jù)對(duì)象序列化為json格式,后者將json格式的文本反序列化為Python中的數(shù)據(jù)對(duì)象。
json.dumps(obj, ensure_ascii=True):參數(shù)obj表示Python中的數(shù)據(jù)對(duì)象,參數(shù)ensure_ascii表示數(shù)據(jù)對(duì)象是否為ascii編碼。當(dāng)數(shù)據(jù)對(duì)象中包含非ascii編碼的字符時(shí),需要傳遞False。 dumps方法會(huì)返回一個(gè)json格式的字符串。
json.loads(s):通過json模塊的loads方法,可以將json格式的文本反序列化為Python中的數(shù)據(jù)類型。參數(shù)s表示json文件中的文本或bytes類型。現(xiàn)在通過loads方法將上文config.json中的文本反序列化為Python中的字典類型。
上述案例有意將文件命名為config.json。config單詞有配置的意思,在企業(yè)開發(fā)中,通常使用json文件作為程序的配置文件。將項(xiàng)目的配置信息,例如數(shù)據(jù)庫(kù)的地址信息,登錄信息等單獨(dú)寫入到配置文件中,會(huì)讓項(xiàng)目的整體結(jié)構(gòu)看起來更清晰:代碼文件負(fù)責(zé)項(xiàng)目的執(zhí)行邏輯,配置文件負(fù)責(zé)存儲(chǔ)項(xiàng)目的配置信息。 如果將配置信息耦合到程序中,那么一旦配置信息發(fā)生變動(dòng),就需要對(duì)代碼進(jìn)行同步修改,以及測(cè)試。將配置信息與程序進(jìn)行分離,降低了配置信息與代碼的耦合度,便于項(xiàng)目的維護(hù)。

- 上一篇
Python入門課程N(yùn)O68課 StringIO與BytesIO
我們通過open方法來打開硬盤上的文件,并獲得一個(gè)文件流對(duì)象,然后通過文件流對(duì)象對(duì)文件進(jìn)行讀寫操作。計(jì)算機(jī)中的存儲(chǔ)設(shè)備按其訪問速度和容量大小,被組織成了下圖所示的金字塔形狀的層次結(jié)構(gòu):我們讀寫的硬盤文件,存儲(chǔ)在外存儲(chǔ)器中,從圖可看出在硬盤中進(jìn)行數(shù)據(jù)讀寫,遠(yuǎn)慢于
- 下一篇
Python入門課程N(yùn)O70課 什么是面向過程
什么是編程語言中的面向過程?面向過程是把一個(gè)問題分解為若干個(gè)步驟,然后一步步地進(jìn)行求解。編程語言中的面向過程是一種程序設(shè)計(jì)方法,以過程為中心來進(jìn)行編程。與面向過程相對(duì)的是面向?qū)ο螅嫦蜻^程側(cè)重于找出解決問題的過程、步驟,而面向?qū)ο髮栴}本身視為一個(gè)整體。接