更新時間:2021-11-17 來源:黑馬程序員 瀏覽量:
利用json模塊的dumps()函數和loads()函數可以實現Python對象和JSON數據之間的轉換,這兩個函數的具體功能如表8-3所示。
表8-3 json模塊中的函數
Python對象與JSON數據轉換時,它們的數據類型會發(fā)生改變,接下來通過一張表來羅列Python對象與JSON數據的類型對照,具體如表8-4所示。
表8-4 Python對象與JSON數據轉化時的類型對照表
使用json模塊前需先在程序中導入該模塊,下面分別來演示dumps()和loads()函數的用法。
1.dumps()函數
使用dumps()函數對Python對象進行轉碼,具體示例如下:
>>> import json >>> pyobj = [[1, 2, 3], 345, 23.12, 'qwe1, ('key11:(1,2,3), 'key21:(2,3,4)), True, False, None] >>> jsonstr = json.dumps(pyobj) >>> print(jsonstr) [[1, 2, 3], 345, 23.12, "qwe", {"key1": [1, 2, 3], "key2": [2, 3, 4]}, true, false, null]
以上代碼首先定義了Python對象pyobj,其次通過dumps()函數將該對象轉換為JSON字符串,之后通過print()函數打印了JSON字符串。
2.loads()函數
以上述示例生成的JSON數據jsonstr為例,使用loads()函數將JSON數據轉換為符合Python語法要求的數據類型,具體代碼如下:
>>> pydata = json. loads(jsonstr) >>> print (pydata) [[1, 2, 3], 345, 23.12, 'qwe', {'key11: [1, 2, 3], 'key21: [2, 3, 4]}, True,False, None]