程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式師世界 >> 編程語言 >  >> 更多編程語言 >> Python

python標准庫模塊之json庫的基礎用法

編輯:Python

目錄

前言

作用

loads,load的用法

dumps,dump的用法

結語

前言

json,全稱為JavaScript Object Notation,也就是JavaScript對象標記,通過對象和數組的組合表示數據,雖然構造簡潔但是結構化程度非常高,是一種輕量級的數據交換格式。

作用

主要用於將python對象編碼為json格式輸出或存儲,以及將json格式對象解碼為python對象。

一個 JSON 對象可以寫為如下形式:

[{ "name": "小明", "height": "170", "age": "18"}, { "name": "小紅", "height": "165", "age": "20"}]

由中括號包圍的就相當於列表類型,列表中的每個元素可以是任意類型,這個示例中它是字典類型,由大括號包圍。

JSON 可以由以上兩種形式自由組合而成,可以無限次嵌套,結構清晰,是數據交換的極佳方式。

下面先來了解一下json中loads,和load

loads,load的用法

例如,有一段 JSON 形式的字符串,它是 str 類型,我們用 json.loads轉換成python的數據結構,變成列表或字典,這樣我們就能進行操作了。

import jsondata = '''[{ "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 jsondata = '''[{ "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 jsonimport 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的用法,兩種方法可以在適當的場景下使用。

dumps,dump的用法

json.dumps()函數,把python類型的數據轉換成json字符串

json.dump()函數, 把python類型的數據以json格式儲存到文件中

dumps函數

import jsondata = '''[{ "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 jsonimport jsondata = '''[{ "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庫的基礎用法的文章就介紹到這了,更多相關python標准庫模塊json庫內容請搜索軟件開發網以前的文章或繼續浏覽下面的相關文章希望大家以後多多支持軟件開發網!



  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式師世界 All Rights Reserved