您好,登錄后才能下訂單哦!
今天小編給大家分享一下python標準庫模塊之json庫怎么使用的相關知識點,內容詳細,邏輯清晰,相信大部分人都還太了解這方面的知識,所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來了解一下吧。
json,全稱為JavaScript Object Notation,也就是JavaScript對象標記,通過對象和數組的組合表示數據,雖然構造簡潔但是結構化程度非常高,是一種輕量級的數據交換格式。
主要用于將python對象編碼為json格式輸出或存儲,以及將json格式對象解碼為python對象。
一個 JSON 對象可以寫為如下形式:
[{ "name": "小明", "height": "170", "age": "18" }, { "name": "小紅", "height": "165", "age": "20" }]
由中括號包圍的就相當于列表類型,列表中的每個元素可以是任意類型,這個示例中它是字典類型,由大括號包圍。
JSON 可以由以上兩種形式自由組合而成,可以無限次嵌套,結構清晰,是數據交換的極佳方式。
下面先來了解一下json中loads,和load
例如,有一段 JSON 形式的字符串,它是 str 類型,我們用 json.loads轉換成python的數據結構,變成列表或字典,這樣我們就能進行操作了。
import json data = ''' [{ "name": "小明", "height": "170", "age": "18" }, { "name": "小紅", "height": "165", "age": "20" }] ''' # 打印data類型 print(type(data)) # json類型的數據轉化為python類型的數據 new_data = json.loads(data) # 打印data類型 print(type(new_data))
運行結果如下
這樣來我們就可以用索引獲取對應的內容了,例如想要獲取第一個元素里的name屬性,可以使用如下方式:
import json data = ''' [{ "name": "小明", "height": "170", "age": "18" }, { "name": "小紅", "height": "165", "age": "20" }] ''' # 打印data類型 print(type(data)) # json類型的數據轉化為python類型的數據 new_data = json.loads(data) # 獲取內容 name = new_data[0]['name'] new_name = new_data[0].get('name') # 打印轉換后data類型 print(type(new_data)) print(name) print(new_name)
運行結果
以上就是loads的用法。
load的用法是把json格式文件,轉換成python類型的數據。
注意 :load方法操作的是整個文件對象,這里是將整個整個文件對象里面的內容轉化為json對象。(下圖是文件操作對象)
示例
import json import json # load的用法是把json格式文件,轉換成python類型的數據。 # 構建該文件的文件對象 with open('test1.json',encoding='utf-8')as fp: # 加載垓文件對象,轉換為python類型的數據 pyth_list = json.load(fp) print(pyth_list) print(type(pyth_list)) print(type(pyth_list[0]))
需要有一個文件操作對象運行結果
以上就是loads和load的用法,兩種方法可以在適當的場景下使用。
json.dumps()函數,把python類型的數據轉換成json字符串
json.dump()函數, 把python類型的數據以json格式儲存到文件中
dumps函數
import json data = ''' [{ "name": "小明", "height": "170", "age": "18" }, { "name": "小紅", "height": "165", "age": "20" }] ''' # 打印要來data類型 print(type(data)) # json類型的數據轉化為python類型的數據 new_data = json.loads(data) # 把python類型的數據轉換成json字符串 lit = json.dumps(new_data) # 打印轉換后data類型 print(type(new_data)) print(type(lit))
運行結果
其實loads和dumps的用法都是一致的,loads是將json類型的數據轉化為python類型的數據,而dumps是將json類型的數據轉化為python類型的數據。相當于一個是編碼一個是解碼。
dump函數
把python類型的數據以json格式儲存到文件中
import json import json data = ''' [{ "name": "小明", "height": "170", "age": "18" }, { "name": "小紅", "height": "165", "age": "20" }] ''' # json類型的數據轉化為python類型的數據 new_data = json.loads(data) # 把python類型的數據以json格式儲存到文件中 # 構建要寫入文件對象 with open('test1.json','w',encoding='utf-8')as fp: # 把python類型的數據以json格式儲存到文件中 json.dump(new_data,fp,ensure_ascii=False)
為了輸出中文,還需要指定參數 ensure_ascii 為 False
儲存文件
以上就是“python標準庫模塊之json庫怎么使用”這篇文章的所有內容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會為大家更新不同的知識,如果還想學習更多的知識,請關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。