python之json模塊


json模塊在python中用於處理json格式數據,主要包含以下4個函數,其中json.dumps()、json.loads()較為常用。

 

json.dumps()

它表示“dump string”,將一個python值轉換成json格式的字符串。該python值只能是以下數據類型之一:字典、列表、元組、數字、字符串、布爾型,而集合類型無法轉換。

import json
dict_data = {"a": 1, "b": 2}
json_data = json.dumps(dict_data)
# 打印轉換結果
print(type(json_data))
print(json_data)

上述代碼是將dict格式數據轉換成json格式字符串,運行結果為:

<class 'str'>
{"a": 1, "b": 2}

不同於直接使用str()進行轉譯,json.dumps()將python值轉換成字符串類型時會使用雙引號。為了方便理解,以下演示直接使用str()進行字符串的轉譯:

import json
dict_data = {"a": 1, "b": 2}
str_data = str(dict_data)
# 打印轉換結果
print(type(str_data))
print(str_data)

上述代碼將dict格式數據用str()轉換成字符串,運行結果為:

<class 'str'>
{'a': 1, 'b': 2}

可別小瞧了單引號和雙引號之間的區別,請注意json字符串總是使用雙引號。

json.loads()

它表示“load string” ,將一個json格式字符串轉換成python值。

import json
dict_data = {"a": 1, "b": 2}
# 將dict格式數據轉換成json格式字符串
json_data = json.dumps(dict_data)
# 將json格式字符串轉換成對應的python值
load_data = json.loads(json_data)
# 打印轉換結果
print(type(load_data))
print(load_data)

上述代碼運行結果為:

<class 'dict'>
{'a': 1, 'b': 2} 

json.dump()

將一個python值轉換成json格式並且存入指定文件,用法如下:

import json
dict_data = {"a": 1, "b": 2}
# 將dict_data轉換成json格式並且存入data.json文件中
with open('data.json', 'w') as f:
    json.dump(dict_data, f)

json.load()

將一個指定json格式文件轉換成python值。比如把前一個例子中data.json文件數據還原成dict格式數據:

import json
with open('data.json', 'r') as f:
    data = json.load(f)
print(type(data))
print(data)

上述代碼運行結果為:

<class 'dict'>
{'a': 1, 'b': 2} 

參考資料


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM