天天看點

Python報錯:TypeError: the JSON object must be str, bytes or bytearray, not ‘dict‘loads(param)dumps(param)

當我嘗試運作以下代碼,來練習使用json.loads()和json.dumps()函數時,系統給我報出了這個錯誤。

import json
data = {"a":1,"b":2,"c":3}
j = json.loads(data)
print(j)      
TypeError: the JSON object must be str, bytes or 
    bytearray, not 'dict'      

由于data現在是一個字典,隻需要用’’'符号将它轉換成字元串就可以了。

但要知道loads()和jumps()這兩個函數的具體用法:

loads(param)

将文本字元串轉換為json對象的函數,其函數名是load string 的縮寫,意思是加載字元串。是以其參數param必須要是一個字典型的字元串。且字典的鍵必須用雙引号來包裹。

dumps(param)

将json資料對象轉換為文本字元串的函數,其函數名是dump string 的縮寫,意思是輸出字元串,是以其參數param必須要是json對象,也就是loads()函數傳回的資料類型。