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

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